TestAutoRegisterHeadRoutes() — fiber Function Reference
Architecture documentation for the TestAutoRegisterHeadRoutes() function in router_test.go from the fiber codebase.
Entity Profile
Dependency Diagram
graph TD 2722e2c4_5e9b_14c3_b618_90287644bd6b["TestAutoRegisterHeadRoutes()"] 326d7e00_9e4f_d854_0c78_b9c0c93e5537["router_test.go"] 2722e2c4_5e9b_14c3_b618_90287644bd6b -->|defined in| 326d7e00_9e4f_d854_0c78_b9c0c93e5537 style 2722e2c4_5e9b_14c3_b618_90287644bd6b fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
router_test.go lines 345–586
func TestAutoRegisterHeadRoutes(t *testing.T) {
t.Parallel()
cases := []struct {
name string
}{
{name: "auto registers head for get"},
{name: "disable auto register config"},
{name: "explicit head overrides auto head route"},
{name: "auto head for grouped routes"},
{name: "static handler auto head"},
{name: "head without matching route returns 404"},
{name: "late explicit get keeps explicit head"},
{name: "route listing includes auto head"},
{name: "head mirrors status without body"},
}
requireClose := func(tb testing.TB, closer io.Closer) {
tb.Helper()
require.NoError(tb, closer.Close())
}
registerCleanup := func(tb testing.TB, body io.ReadCloser) {
tb.Helper()
tb.Cleanup(func() {
requireClose(tb, body)
})
}
runners := []func(t *testing.T){
func(t *testing.T) {
t.Helper()
app := New()
app.Get("/", func(c Ctx) error {
c.Set("X-Test", "auto")
return c.SendString("Hello")
})
respHead, err := app.Test(httptest.NewRequest(MethodHead, "/", http.NoBody))
require.NoError(t, err)
registerCleanup(t, respHead.Body)
require.Equal(t, StatusOK, respHead.StatusCode)
require.Equal(t, int64(len("Hello")), respHead.ContentLength)
require.Equal(t, "auto", respHead.Header.Get("X-Test"))
body, err := io.ReadAll(respHead.Body)
require.NoError(t, err)
require.Empty(t, body)
respGet, err := app.Test(httptest.NewRequest(MethodGet, "/", http.NoBody))
require.NoError(t, err)
registerCleanup(t, respGet.Body)
require.Equal(t, StatusOK, respGet.StatusCode)
require.Equal(t, int64(len("Hello")), respGet.ContentLength)
data, err := io.ReadAll(respGet.Body)
require.NoError(t, err)
require.Equal(t, "Hello", string(data))
},
func(t *testing.T) {
t.Helper()
app := New(Config{DisableHeadAutoRegister: true})
app.Get("/", func(c Ctx) error {
return c.SendString("Hello")
})
resp, err := app.Test(httptest.NewRequest(MethodHead, "/", http.NoBody))
require.NoError(t, err)
registerCleanup(t, resp.Body)
require.Equal(t, StatusMethodNotAllowed, resp.StatusCode)
},
func(t *testing.T) {
t.Helper()
app := New()
var getCalls int
app.Get("/override", func(c Ctx) error {
getCalls++
return c.SendString("GET")
})
respHead, err := app.Test(httptest.NewRequest(MethodHead, "/override", http.NoBody))
require.NoError(t, err)
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does TestAutoRegisterHeadRoutes() do?
TestAutoRegisterHeadRoutes() is a function in the fiber codebase, defined in router_test.go.
Where is TestAutoRegisterHeadRoutes() defined?
TestAutoRegisterHeadRoutes() is defined in router_test.go at line 345.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free