Revised downloading errors reporting

This commit is contained in:
DarthSim
2023-12-03 21:00:20 +03:00
parent 8cb93f8915
commit 3fe820625d
2 changed files with 19 additions and 10 deletions

View File

@@ -3,6 +3,7 @@
## [Unreleased] ## [Unreleased]
### Change ### Change
- Allow relative values for `gravity` and `watermark` offsets. - Allow relative values for `gravity` and `watermark` offsets.
- Revised downloading errors reporting.
## [3.21.0] - 2023-11-23 ## [3.21.0] - 2023-11-23
### Add ### Add

View File

@@ -328,23 +328,31 @@ func handleProcessing(reqID string, rw http.ResponseWriter, r *http.Request) {
respondWithNotModified(reqID, r, rw, po, imageURL, nmErr.Headers) respondWithNotModified(reqID, r, rw, po, imageURL, nmErr.Headers)
return return
} else { } else {
ierr, ierrok := err.(*ierrors.Error) // This may be a request timeout error or a request cancelled error.
if ierrok { // Check it before moving further
statusCode = ierr.StatusCode checkErr(ctx, "timeout", router.CheckTimeout(ctx))
}
if config.ReportDownloadingErrors && (!ierrok || ierr.Unexpected) {
errorreport.Report(err, r)
}
sendErr(ctx, "download", err) ierr := ierrors.Wrap(err, 0)
ierr.Unexpected = ierr.Unexpected || config.ReportDownloadingErrors
sendErr(ctx, "download", ierr)
if imagedata.FallbackImage == nil { if imagedata.FallbackImage == nil {
panic(err) panic(ierr)
} }
log.Warningf("Could not load image %s. Using fallback image. %s", imageURL, err.Error()) // We didn't panic, so the error is not reported.
// Report it now
if ierr.Unexpected {
errorreport.Report(ierr, r)
}
log.WithField("request_id", reqID).Warningf("Could not load image %s. Using fallback image. %s", imageURL, ierr.Error())
if config.FallbackImageHTTPCode > 0 { if config.FallbackImageHTTPCode > 0 {
statusCode = config.FallbackImageHTTPCode statusCode = config.FallbackImageHTTPCode
} else {
statusCode = ierr.StatusCode
} }
originData = imagedata.FallbackImage originData = imagedata.FallbackImage