Skip to content

Commit 68bf5dc

Browse files
committed
Add custom HTTP error handler to APIServer
1 parent df4a1a4 commit 68bf5dc

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

internal/apiserver/service/service.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,23 @@ func NewAPIServer(logger utilLog.Logger, opts *conf.DMSOptions) (*APIServer, err
5252
e := echo.New()
5353
e.HideBanner = true
5454
e.HidePort = true
55+
e.HTTPErrorHandler = func(err error, c echo.Context) {
56+
if c.Response().Committed {
57+
return
58+
}
59+
60+
message := err.Error()
61+
if httpErr, ok := err.(*echo.HTTPError); ok {
62+
if msg, ok := httpErr.Message.(string); ok && msg != "" {
63+
message = msg
64+
}
65+
}
66+
67+
_ = c.JSON(http.StatusBadRequest, bV1.GenericResp{
68+
Code: int(apiError.BadRequestErr),
69+
Message: message,
70+
})
71+
}
5572
return &APIServer{
5673
logger: logger,
5774
opts: opts,

0 commit comments

Comments
 (0)