@@ -138,6 +138,30 @@ func Test_Integration_App_ServerErrorHandler_PreservesRequestID(t *testing.T) {
138138 require .Equal (t , expectedRequestID , string (resp .Header .Peek ("X-Request-ID" )))
139139}
140140
141+ func Test_Integration_App_ServerErrorHandler_GroupMiddlewareChain (t * testing.T ) {
142+ app := fiber .New (fiber.Config {BodyLimit : 16 })
143+ app .Use (helmet .New ())
144+
145+ api := app .Group ("/api" )
146+ api .Use (requestid .New ())
147+ api .Use (func (c fiber.Ctx ) error {
148+ c .Set ("X-Group-Middleware" , "active" )
149+ return c .Next ()
150+ })
151+ api .Post ("/resource" , func (c fiber.Ctx ) error {
152+ return c .SendStatus (fiber .StatusOK )
153+ })
154+
155+ resp := performOversizedRequest (t , app , func (req * fasthttp.Request ) {
156+ req .SetRequestURI ("http://example.com/api/resource" )
157+ })
158+
159+ require .Equal (t , fiber .StatusRequestEntityTooLarge , resp .StatusCode ())
160+ require .Equal (t , "nosniff" , string (resp .Header .Peek (fiber .HeaderXContentTypeOptions )))
161+ require .NotEmpty (t , resp .Header .Peek ("X-Request-ID" ))
162+ require .Equal (t , "active" , string (resp .Header .Peek ("X-Group-Middleware" )))
163+ }
164+
141165func Test_Integration_App_ServerErrorHandler_RetainsHeadersFromSubsequentMiddleware (t * testing.T ) {
142166 app := fiber .New (fiber.Config {BodyLimit : 8 })
143167 app .Use (func (c fiber.Ctx ) error {
0 commit comments