MCPcopy Create free account
hub / github.com/danielmesquitta/flight-api / ErrorHandler

Method ErrorHandler

internal/app/server/middleware/error.go:26–57  ·  view source on GitHub ↗
(ctx *fiber.Ctx, err error)

Source from the content-addressed store, hash-verified

24}
25
26func (m *Middleware) ErrorHandler(ctx *fiber.Ctx, err error) error {
27 var appErr *errs.Err
28 if errors.As(err, &appErr) {
29 code, ok := mapAppErrToHTTPError[appErr.Code]
30 if !ok {
31 code = http.StatusInternalServerError
32 }
33
34 if code >= 500 {
35 return m.handleInternalServerError(ctx, appErr)
36 }
37
38 return ctx.Status(code).JSON(
39 dto.ErrorResponse{Message: appErr.Message},
40 )
41 }
42
43 var fiberErr *fiber.Error
44 if errors.As(err, &fiberErr) {
45 code := fiberErr.Code
46
47 if code >= 500 {
48 return m.handleInternalServerError(ctx, errs.New(fiberErr))
49 }
50
51 return ctx.Status(code).JSON(
52 dto.ErrorResponse{Message: fiberErr.Message},
53 )
54 }
55
56 return nil
57}
58
59func (m *Middleware) handleInternalServerError(
60 c *fiber.Ctx,

Callers

nothing calls this directly

Calls 2

NewFunction · 0.92

Tested by

no test coverage detected