Test_Redirect_FlashMessagesWithSpecialChars() — fiber Function Reference
Architecture documentation for the Test_Redirect_FlashMessagesWithSpecialChars() function in redirect_test.go from the fiber codebase.
Entity Profile
Dependency Diagram
graph TD 11205671_65df_f916_ae0c_3cb0a5a6b53a["Test_Redirect_FlashMessagesWithSpecialChars()"] fee77792_8d65_0d02_107f_9a956c66b44c["redirect_test.go"] 11205671_65df_f916_ae0c_3cb0a5a6b53a -->|defined in| fee77792_8d65_0d02_107f_9a956c66b44c b333a695_5de0_544d_4b7c_c7a4b752a688["assertFlashCookieCleared()"] 11205671_65df_f916_ae0c_3cb0a5a6b53a -->|calls| b333a695_5de0_544d_4b7c_c7a4b752a688 style 11205671_65df_f916_ae0c_3cb0a5a6b53a fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
redirect_test.go lines 640–704
func Test_Redirect_FlashMessagesWithSpecialChars(t *testing.T) {
t.Parallel()
app := New()
// Handler that sets flash messages with special characters and redirects
app.Get("/special-source", func(c Ctx) error {
// Create a large message to test encoding of larger data
return c.Redirect().With("null_bytes", "Contains\x00null\x00bytes").
With("control_chars", "Contains\r\ncontrol\tcharacters").
With("unicode", "Unicode: 你好世界").
With("emoji", "Emoji: 🔥🚀😊").
To("/special-target")
})
// Target handler that receives the flash messages
app.Get("/special-target", func(c Ctx) error {
return c.JSON(Map{
"null_bytes": c.Redirect().Message("null_bytes").Value,
"control_chars": c.Redirect().Message("control_chars").Value,
"unicode": c.Redirect().Message("unicode").Value,
"emoji": c.Redirect().Message("emoji").Value,
})
})
// Step 1: Make the initial request
req := httptest.NewRequest(MethodGet, "/special-source", http.NoBody)
resp, err := app.Test(req)
require.NoError(t, err)
require.Equal(t, StatusSeeOther, resp.StatusCode)
require.Equal(t, "/special-target", resp.Header.Get(HeaderLocation))
// Get the flash cookie
var flashCookie *http.Cookie
for _, cookie := range resp.Cookies() {
if cookie.Name == "fiber_flash" {
flashCookie = cookie
break
}
}
require.NotNil(t, flashCookie, "Flash cookie should be set")
// Step 2: Make the second request with the cookie
req = httptest.NewRequest(MethodGet, "/special-target", http.NoBody)
req.Header.Set("Cookie", flashCookie.Name+"="+flashCookie.Value)
resp, err = app.Test(req)
require.NoError(t, err)
require.Equal(t, StatusOK, resp.StatusCode)
assertFlashCookieCleared(t, resp.Header.Get(HeaderSetCookie))
// Parse and verify the response
body, err := io.ReadAll(resp.Body)
require.NoError(t, err)
var result map[string]any
err = json.Unmarshal(body, &result)
require.NoError(t, err)
// Verify special character handling
require.Equal(t, "Contains\x00null\x00bytes", result["null_bytes"])
require.Equal(t, "Contains\r\ncontrol\tcharacters", result["control_chars"])
require.Equal(t, "Unicode: 你好世界", result["unicode"])
require.Equal(t, "Emoji: 🔥🚀😊", result["emoji"])
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does Test_Redirect_FlashMessagesWithSpecialChars() do?
Test_Redirect_FlashMessagesWithSpecialChars() is a function in the fiber codebase, defined in redirect_test.go.
Where is Test_Redirect_FlashMessagesWithSpecialChars() defined?
Test_Redirect_FlashMessagesWithSpecialChars() is defined in redirect_test.go at line 640.
What does Test_Redirect_FlashMessagesWithSpecialChars() call?
Test_Redirect_FlashMessagesWithSpecialChars() calls 1 function(s): assertFlashCookieCleared.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free