Skip to content

Custom middleware to handle error doesn't work when using return echo.NewHTTPError #2817

@MGMehdi

Description

@MGMehdi

Hello,

I've got a controller where I want to return echo.NewHTTPError(http.StatusNotFound, "no stock found")

I've made a custom middleware to handle all error that's working when I have database error, validation etc. I wanted to try using echo.NewHTTPError

I activate the middleware in the main.go like that

// main.go middlewares.ErrorHandlerMiddleware my middleware
e.Use(middleware.Recover(), middleware.RequestID(), middleware.CORS(), middlewares.ErrorHandlerMiddleware)

// middlewares.go
func ErrorHandlerMiddleware(next echo.HandlerFunc) echo.HandlerFunc {
	return func(c echo.Context) error {
		err := next(c)
		if err == nil {
			return nil
		}
		return HandleAppError(c, err)
	}
}

When I want to use echo.NewHTTPError, the value of err in the middleware is nil.

I don't know what I did wrong. Could you help me ?

Thank you

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions