+1
-1
cmd/astrolabe/handlers.go
+1
-1
cmd/astrolabe/handlers.go
+8
-2
cmd/astrolabe/service.go
+8
-2
cmd/astrolabe/service.go
···
4
4
"context"
5
5
"embed"
6
6
"errors"
7
+
"fmt"
7
8
"io/fs"
8
9
"net/http"
9
10
"os"
···
142
143
143
144
func (srv *Server) errorHandler(err error, c echo.Context) {
144
145
code := http.StatusInternalServerError
146
+
var errorMessage string
145
147
if he, ok := err.(*echo.HTTPError); ok {
146
148
code = he.Code
149
+
errorMessage = fmt.Sprintf("%s", he.Message)
147
150
}
148
151
if code >= 500 {
149
152
slog.Warn("astrolabe-http-internal-error", "err", err)
150
153
}
151
154
data := pongo2.Context{
152
-
"statusCode": code,
155
+
"statusCode": code,
156
+
"errorMessage": errorMessage,
157
+
}
158
+
if !c.Response().Committed {
159
+
c.Render(code, "error.html", data)
153
160
}
154
-
c.Render(code, "error.html", data)
155
161
}
156
162
157
163
func (srv *Server) ServeHTTP(rw http.ResponseWriter, req *http.Request) {