mirror of
https://github.com/Luzifer/tex-api.git
synced 2024-11-08 08:10:09 +00:00
Add URL reporting parameter
Signed-off-by: Knut Ahlers <knut@ahlers.me>
This commit is contained in:
parent
9c91061cf1
commit
ab63204ee8
2 changed files with 23 additions and 0 deletions
10
README.md
10
README.md
|
@ -71,3 +71,13 @@ GET /job/{uuid}/download Download the resulting archive (You may specify an
|
|||
```
|
||||
|
||||
All routes accept the `log-on-error` parameter: If set a PDF download (`Accept` header set to `application/pdf`) will return the log instead of the PDF if no PDF is found.
|
||||
|
||||
Providing `report-urls` parameter to the `POST /jobs` endpoint will not redirect to the wait endpoint but report a JSON object containing the URL paths:
|
||||
|
||||
```json
|
||||
{
|
||||
"download": "/job/fb5ee7b8-679a-4bf2-951b-acabaf43b43e/download",
|
||||
"status": "/job/fb5ee7b8-679a-4bf2-951b-acabaf43b43e",
|
||||
"wait": "/job/fb5ee7b8-679a-4bf2-951b-acabaf43b43e/wait"
|
||||
}
|
||||
```
|
||||
|
|
|
@ -3,6 +3,7 @@ package main
|
|||
import (
|
||||
"archive/zip"
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"io"
|
||||
"math"
|
||||
"net/http"
|
||||
|
@ -133,6 +134,18 @@ func startNewJob(res http.ResponseWriter, r *http.Request) {
|
|||
|
||||
u := urlMust(router.Get("waitForJob").URL("uid", jobUUID.String()))
|
||||
u.RawQuery = r.URL.Query().Encode()
|
||||
|
||||
if r.URL.Query().Has("report-urls") {
|
||||
if err := json.NewEncoder(res).Encode(map[string]string{
|
||||
"download": urlMust(router.Get("downloadAssets").URL("uid", jobUUID.String())).String(),
|
||||
"status": urlMust(router.Get("getJobStatus").URL("uid", jobUUID.String())).String(),
|
||||
"wait": urlMust(router.Get("waitForJob").URL("uid", jobUUID.String())).String(),
|
||||
}); err != nil {
|
||||
serverErrorf(res, err, "encoding url response")
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
http.Redirect(res, r, u.String(), http.StatusFound)
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue