@@ -34,6 +34,24 @@ func Test_Redirect_To(t *testing.T) {
3434 require .Equal (t , "http://example.com" , string (c .Response ().Header .Peek (HeaderLocation )))
3535}
3636
37+ // go test -run Test_Redirect_To_WithFlashMessages
38+ func Test_Redirect_To_WithFlashMessages (t * testing.T ) {
39+ t .Parallel ()
40+ app := New ()
41+ c := app .AcquireCtx (& fasthttp.RequestCtx {})
42+
43+ err := c .Redirect ().With ("success" , "1" ).With ("message" , "test" ).To ("http://example.com" )
44+ require .NoError (t , err )
45+ require .Equal (t , 302 , c .Response ().StatusCode ())
46+ require .Equal (t , "http://example.com" , string (c .Response ().Header .Peek (HeaderLocation )))
47+
48+ equal := c .GetRespHeader (HeaderSetCookie ) == "fiber_flash=success:1,message:test; path=/; SameSite=Lax" || c .GetRespHeader (HeaderSetCookie ) == "fiber_flash=message:test,success:1; path=/; SameSite=Lax"
49+ require .True (t , equal )
50+
51+ c .Redirect ().parseAndClearFlashMessages ()
52+ require .Equal (t , "fiber_flash=; expires=Tue, 10 Nov 2009 23:00:00 GMT" , c .GetRespHeader (HeaderSetCookie ))
53+ }
54+
3755// go test -run Test_Redirect_Route_WithParams
3856func Test_Redirect_Route_WithParams (t * testing.T ) {
3957 t .Parallel ()
@@ -149,6 +167,29 @@ func Test_Redirect_Back(t *testing.T) {
149167 require .ErrorAs (t , err , & ErrRedirectBackNoFallback )
150168}
151169
170+ // go test -run Test_Redirect_Back_WithFlashMessages
171+ func Test_Redirect_Back_WithFlashMessages (t * testing.T ) {
172+ t .Parallel ()
173+
174+ app := New ()
175+ app .Get ("/user" , func (c Ctx ) error {
176+ return c .SendString ("user" )
177+ }).Name ("user" )
178+
179+ c := app .AcquireCtx (& fasthttp.RequestCtx {}).(* DefaultCtx ) //nolint:errcheck, forcetypeassert // not needed
180+
181+ err := c .Redirect ().With ("success" , "1" ).With ("message" , "test" ).Back ("/" )
182+ require .NoError (t , err )
183+ require .Equal (t , 302 , c .Response ().StatusCode ())
184+ require .Equal (t , "/" , string (c .Response ().Header .Peek (HeaderLocation )))
185+
186+ equal := c .GetRespHeader (HeaderSetCookie ) == "fiber_flash=success:1,message:test; path=/; SameSite=Lax" || c .GetRespHeader (HeaderSetCookie ) == "fiber_flash=message:test,success:1; path=/; SameSite=Lax"
187+ require .True (t , equal )
188+
189+ c .Redirect ().parseAndClearFlashMessages ()
190+ require .Equal (t , "fiber_flash=; expires=Tue, 10 Nov 2009 23:00:00 GMT" , c .GetRespHeader (HeaderSetCookie ))
191+ }
192+
152193// go test -run Test_Redirect_Back_WithReferer
153194func Test_Redirect_Back_WithReferer (t * testing.T ) {
154195 t .Parallel ()
@@ -188,7 +229,7 @@ func Test_Redirect_Route_WithFlashMessages(t *testing.T) {
188229 equal := c .GetRespHeader (HeaderSetCookie ) == "fiber_flash=success:1,message:test; path=/; SameSite=Lax" || c .GetRespHeader (HeaderSetCookie ) == "fiber_flash=message:test,success:1; path=/; SameSite=Lax"
189230 require .True (t , equal )
190231
191- c .Redirect ().setFlash ()
232+ c .Redirect ().parseAndClearFlashMessages ()
192233 require .Equal (t , "fiber_flash=; expires=Tue, 10 Nov 2009 23:00:00 GMT" , c .GetRespHeader (HeaderSetCookie ))
193234}
194235
@@ -216,12 +257,12 @@ func Test_Redirect_Route_WithOldInput(t *testing.T) {
216257 require .Contains (t , c .GetRespHeader (HeaderSetCookie ), ",old_input_data_id:1" )
217258 require .Contains (t , c .GetRespHeader (HeaderSetCookie ), ",old_input_data_name:tom" )
218259
219- c .Redirect ().setFlash ()
260+ c .Redirect ().parseAndClearFlashMessages ()
220261 require .Equal (t , "fiber_flash=; expires=Tue, 10 Nov 2009 23:00:00 GMT" , c .GetRespHeader (HeaderSetCookie ))
221262}
222263
223- // go test -run Test_Redirect_setFlash
224- func Test_Redirect_setFlash (t * testing.T ) {
264+ // go test -run Test_Redirect_parseAndClearFlashMessages
265+ func Test_Redirect_parseAndClearFlashMessages (t * testing.T ) {
225266 t .Parallel ()
226267
227268 app := New ()
@@ -233,7 +274,7 @@ func Test_Redirect_setFlash(t *testing.T) {
233274
234275 c .Request ().Header .Set (HeaderCookie , "fiber_flash=success:1,message:test,old_input_data_name:tom,old_input_data_id:1" )
235276
236- c .Redirect ().setFlash ()
277+ c .Redirect ().parseAndClearFlashMessages ()
237278
238279 require .Equal (t , "fiber_flash=; expires=Tue, 10 Nov 2009 23:00:00 GMT" , c .GetRespHeader (HeaderSetCookie ))
239280
@@ -416,7 +457,7 @@ func Benchmark_Redirect_Route_WithFlashMessages(b *testing.B) {
416457 equal := c .GetRespHeader (HeaderSetCookie ) == "fiber_flash=success:1,message:test; path=/; SameSite=Lax" || c .GetRespHeader (HeaderSetCookie ) == "fiber_flash=message:test,success:1; path=/; SameSite=Lax"
417458 require .True (b , equal )
418459
419- c .Redirect ().setFlash ()
460+ c .Redirect ().parseAndClearFlashMessages ()
420461 require .Equal (b , "fiber_flash=; expires=Tue, 10 Nov 2009 23:00:00 GMT" , c .GetRespHeader (HeaderSetCookie ))
421462}
422463
@@ -435,7 +476,7 @@ func Benchmark_Redirect_setFlash(b *testing.B) {
435476 b .ResetTimer ()
436477
437478 for n := 0 ; n < b .N ; n ++ {
438- c .Redirect ().setFlash ()
479+ c .Redirect ().parseAndClearFlashMessages ()
439480 }
440481
441482 require .Equal (b , "fiber_flash=; expires=Tue, 10 Nov 2009 23:00:00 GMT" , c .GetRespHeader (HeaderSetCookie ))
@@ -459,7 +500,7 @@ func Benchmark_Redirect_Messages(b *testing.B) {
459500 c := app .AcquireCtx (& fasthttp.RequestCtx {}).(* DefaultCtx ) //nolint:errcheck, forcetypeassert // not needed
460501
461502 c .Request ().Header .Set (HeaderCookie , "fiber_flash=success:1,message:test,old_input_data_name:tom,old_input_data_id:1" )
462- c .Redirect ().setFlash ()
503+ c .Redirect ().parseAndClearFlashMessages ()
463504
464505 var msgs map [string ]string
465506
@@ -484,7 +525,7 @@ func Benchmark_Redirect_OldInputs(b *testing.B) {
484525 c := app .AcquireCtx (& fasthttp.RequestCtx {}).(* DefaultCtx ) //nolint:errcheck, forcetypeassert // not needed
485526
486527 c .Request ().Header .Set (HeaderCookie , "fiber_flash=success:1,message:test,old_input_data_name:tom,old_input_data_id:1" )
487- c .Redirect ().setFlash ()
528+ c .Redirect ().parseAndClearFlashMessages ()
488529
489530 var oldInputs map [string ]string
490531
@@ -509,7 +550,7 @@ func Benchmark_Redirect_Message(b *testing.B) {
509550 c := app .AcquireCtx (& fasthttp.RequestCtx {}).(* DefaultCtx ) //nolint:errcheck, forcetypeassert // not needed
510551
511552 c .Request ().Header .Set (HeaderCookie , "fiber_flash=success:1,message:test,old_input_data_name:tom,old_input_data_id:1" )
512- c .Redirect ().setFlash ()
553+ c .Redirect ().parseAndClearFlashMessages ()
513554
514555 var msg string
515556
@@ -534,7 +575,7 @@ func Benchmark_Redirect_OldInput(b *testing.B) {
534575 c := app .AcquireCtx (& fasthttp.RequestCtx {}).(* DefaultCtx ) //nolint:errcheck, forcetypeassert // not needed
535576
536577 c .Request ().Header .Set (HeaderCookie , "fiber_flash=success:1,message:test,old_input_data_name:tom,old_input_data_id:1" )
537- c .Redirect ().setFlash ()
578+ c .Redirect ().parseAndClearFlashMessages ()
538579
539580 var input string
540581
0 commit comments