mirror of
https://github.com/labstack/echo.git
synced 2025-12-01 22:51:17 +02:00
Added ErrorHandler and ErrorHandlerWithContext in CSRF middleware (#2257)
* feat: add error handler to csrf middleware Co-authored-by: Mojtaba Arezoomand <mojtaba.arezoomand@snapp.cab>
This commit is contained in:
committed by
GitHub
parent
534bbb81e3
commit
d77e8c09b2
@@ -358,3 +358,25 @@ func TestCSRFConfig_skipper(t *testing.T) {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestCSRFErrorHandling(t *testing.T) {
|
||||
cfg := CSRFConfig{
|
||||
ErrorHandler: func(err error, c echo.Context) error {
|
||||
return echo.NewHTTPError(http.StatusTeapot, "error_handler_executed")
|
||||
},
|
||||
}
|
||||
|
||||
e := echo.New()
|
||||
e.POST("/", func(c echo.Context) error {
|
||||
return c.String(http.StatusNotImplemented, "should not end up here")
|
||||
})
|
||||
|
||||
e.Use(CSRFWithConfig(cfg))
|
||||
|
||||
req := httptest.NewRequest(http.MethodPost, "/", nil)
|
||||
res := httptest.NewRecorder()
|
||||
e.ServeHTTP(res, req)
|
||||
|
||||
assert.Equal(t, http.StatusTeapot, res.Code)
|
||||
assert.Equal(t, "{\"message\":\"error_handler_executed\"}\n", res.Body.String())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user