Test_Session_Middleware() — fiber Function Reference
Architecture documentation for the Test_Session_Middleware() function in middleware_test.go from the fiber codebase.
Entity Profile
Dependency Diagram
graph TD 51a28854_04b0_e7be_5dda_47ce9f86d0a0["Test_Session_Middleware()"] 7a9a2d4e_2e85_3a21_3ac8_2223cd90e48f["middleware_test.go"] 51a28854_04b0_e7be_5dda_47ce9f86d0a0 -->|defined in| 7a9a2d4e_2e85_3a21_3ac8_2223cd90e48f style 51a28854_04b0_e7be_5dda_47ce9f86d0a0 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
middleware/session/middleware_test.go lines 18–328
func Test_Session_Middleware(t *testing.T) {
t.Parallel()
app := fiber.New()
app.Use(New())
app.Get("/get", func(c fiber.Ctx) error {
sess := FromContext(c)
if sess == nil {
return c.SendStatus(fiber.StatusInternalServerError)
}
value, ok := sess.Get("key").(string)
if !ok {
return c.Status(fiber.StatusNotFound).SendString("key not found")
}
return c.SendString("value=" + value)
})
app.Post("/set", func(c fiber.Ctx) error {
sess := FromContext(c)
if sess == nil {
return c.SendStatus(fiber.StatusInternalServerError)
}
// get a value from the body
value := c.FormValue("value")
sess.Set("key", value)
return c.SendStatus(fiber.StatusOK)
})
app.Post("/delete", func(c fiber.Ctx) error {
sess := FromContext(c)
if sess == nil {
return c.SendStatus(fiber.StatusInternalServerError)
}
sess.Delete("key")
return c.SendStatus(fiber.StatusOK)
})
app.Post("/reset", func(c fiber.Ctx) error {
sess := FromContext(c)
if sess == nil {
return c.SendStatus(fiber.StatusInternalServerError)
}
// Set a value to ensure it is cleared after reset
sess.Set("key", "value")
if err := sess.Reset(); err != nil {
return c.SendStatus(fiber.StatusInternalServerError)
}
// Ensure value is cleared
value, ok := sess.Get("key").(string)
if ok || value != "" {
return c.SendStatus(fiber.StatusInternalServerError)
}
return c.SendStatus(fiber.StatusOK)
})
app.Post("/regenerate", func(c fiber.Ctx) error {
sess := FromContext(c)
if sess == nil {
return c.SendStatus(fiber.StatusInternalServerError)
}
// Set a value to ensure it is preserved after regeneration
sess.Set("key", "value")
// Regenerate the session ID
if err := sess.Regenerate(); err != nil {
return c.SendStatus(fiber.StatusInternalServerError)
}
// Ensure the session ID has changed but session data is preserved
newID := sess.ID()
if newID == "" {
return c.SendStatus(fiber.StatusInternalServerError)
}
// Check if the session data is still accessible
value, ok := sess.Get("key").(string)
if !ok || value != "value" {
return c.SendStatus(fiber.StatusInternalServerError)
}
return c.SendStatus(fiber.StatusOK)
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does Test_Session_Middleware() do?
Test_Session_Middleware() is a function in the fiber codebase, defined in middleware/session/middleware_test.go.
Where is Test_Session_Middleware() defined?
Test_Session_Middleware() is defined in middleware/session/middleware_test.go at line 18.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free