Chore: Handle wrapped errors (#29223)

* Chore: Handle wrapped errors

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
This commit is contained in:
Arve Knudsen
2020-11-19 13:34:28 +01:00
committed by GitHub
co-authored by Emil Tullstedt
parent 0cb29d337a
commit 294770f411
34 changed files with 153 additions and 124 deletions
+14 -15
View File
@@ -1,6 +1,7 @@
package api
import (
"errors"
"fmt"
"net/http"
"runtime"
@@ -66,22 +67,20 @@ func (hs *HTTPServer) RenderToPng(c *models.ReqContext) {
DeviceScaleFactor: scale,
Headers: headers,
})
if err != nil && err == rendering.ErrTimeout {
c.Handle(500, err.Error(), err)
return
}
if err != nil && err == rendering.ErrPhantomJSNotInstalled {
if strings.HasPrefix(runtime.GOARCH, "arm") {
c.Handle(500, "Rendering failed - PhantomJS isn't included in arm build per default", err)
} else {
c.Handle(500, "Rendering failed - PhantomJS isn't installed correctly", err)
}
return
}
if err != nil {
if errors.Is(err, rendering.ErrTimeout) {
c.Handle(500, err.Error(), err)
return
}
if errors.Is(err, rendering.ErrPhantomJSNotInstalled) {
if strings.HasPrefix(runtime.GOARCH, "arm") {
c.Handle(500, "Rendering failed - PhantomJS isn't included in arm build per default", err)
} else {
c.Handle(500, "Rendering failed - PhantomJS isn't installed correctly", err)
}
return
}
c.Handle(500, "Rendering failed.", err)
return
}