aboutsummaryrefslogtreecommitdiffstats
path: root/server.go
diff options
context:
space:
mode:
authorLibravatarLibravatar Simon Ser <[email protected]> 2019-12-03 13:17:51 +0100
committerLibravatarLibravatar Simon Ser <[email protected]> 2019-12-03 13:17:51 +0100
commit23e3e8525135507f5084c0a4627812d4c0083106 (patch)
treea98aee30f89ee2be5657ea2adfff71437b2e2aba /server.go
parentbe14524c3384c88f0a5b0d64c4584abcc6ae0665 (diff)
downloadalps-23e3e8525135507f5084c0a4627812d4c0083106.tar.gz
alps-23e3e8525135507f5084c0a4627812d4c0083106.tar.bz2
alps-23e3e8525135507f5084c0a4627812d4c0083106.zip
Set HTTP error handler
Diffstat (limited to 'server.go')
-rw-r--r--server.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/server.go b/server.go
index a853687..4bdd15b 100644
--- a/server.go
+++ b/server.go
@@ -162,6 +162,17 @@ func New(imapURL string) *echo.Echo {
e.Logger.Fatal(err)
}
+ e.HTTPErrorHandler = func(err error, c echo.Context) {
+ code := http.StatusInternalServerError
+ if he, ok := err.(*echo.HTTPError); ok {
+ code = he.Code
+ } else {
+ c.Logger().Error(err)
+ }
+ // TODO: hide internal errors
+ c.String(code, err.Error())
+ }
+
e.Use(func(next echo.HandlerFunc) echo.HandlerFunc {
return func(ectx echo.Context) error {
ctx := &context{Context: ectx, server: s}