testFiberToHandlerFunc() — fiber Function Reference
Architecture documentation for the testFiberToHandlerFunc() function in adaptor_test.go from the fiber codebase.
Entity Profile
Dependency Diagram
graph TD c859bcb2_d45b_9ef3_644f_a4c3a495795d["testFiberToHandlerFunc()"] 8ec96b38_44b4_af66_6f6f_dd60f87b680c["adaptor_test.go"] c859bcb2_d45b_9ef3_644f_a4c3a495795d -->|defined in| 8ec96b38_44b4_af66_6f6f_dd60f87b680c 88001529_8cbe_6504_87c8_e0bac05c7623["Test_FiberHandler()"] 88001529_8cbe_6504_87c8_e0bac05c7623 -->|calls| c859bcb2_d45b_9ef3_644f_a4c3a495795d 24907837_0d21_26c3_804c_de4eb6f414c7["Test_FiberApp()"] 24907837_0d21_26c3_804c_de4eb6f414c7 -->|calls| c859bcb2_d45b_9ef3_644f_a4c3a495795d 35cda8fe_5979_1796_a049_1722af3d48c0["Test_FiberHandlerDefaultPort()"] 35cda8fe_5979_1796_a049_1722af3d48c0 -->|calls| c859bcb2_d45b_9ef3_644f_a4c3a495795d 04bcbfbf_9df8_99bc_51e6_eb070e665a45["Test_FiberAppDefaultPort()"] 04bcbfbf_9df8_99bc_51e6_eb070e665a45 -->|calls| c859bcb2_d45b_9ef3_644f_a4c3a495795d style c859bcb2_d45b_9ef3_644f_a4c3a495795d fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
middleware/adaptor/adaptor_test.go lines 574–653
func testFiberToHandlerFunc(t *testing.T, checkDefaultPort bool, app ...*fiber.App) {
t.Helper()
expectedMethod := fiber.MethodPost
expectedContentLength := len(expectedBody)
expectedRemoteAddr := "1.2.3.4:6789"
if checkDefaultPort {
expectedRemoteAddr = "1.2.3.4:80"
}
expectedHeader := map[string]string{
"Foo-Bar": "baz",
"Abc": "defg",
"XXX-Remote-Addr": "123.43.4543.345",
}
expectedURL, err := url.ParseRequestURI(expectedRequestURI)
require.NoError(t, err)
callsCount := 0
fiberH := func(c fiber.Ctx) error {
callsCount++
require.Equal(t, expectedMethod, c.Method(), "Method")
require.Equal(t, expectedRequestURI, string(c.RequestCtx().RequestURI()), "RequestURI")
require.Equal(t, expectedContentLength, c.RequestCtx().Request.Header.ContentLength(), "ContentLength")
require.Equal(t, expectedHost, c.Hostname(), "Host")
require.Equal(t, expectedHost, string(c.Request().Header.Host()), "Host")
require.Equal(t, "http://"+expectedHost, c.BaseURL(), "BaseURL")
require.Equal(t, expectedRemoteAddr, c.RequestCtx().RemoteAddr().String(), "RemoteAddr")
body := string(c.Body())
require.Equal(t, expectedBody, body, "Body")
require.Equal(t, expectedURL.String(), c.OriginalURL(), "URL")
for k, expectedV := range expectedHeader {
v := c.Get(k)
require.Equal(t, expectedV, v, "Header")
}
c.Set("Header1", "value1")
c.Set("Header2", "value2")
c.Status(fiber.StatusBadRequest)
_, err := c.Write(fmt.Appendf(nil, "request body is %q", body))
return err
}
var handlerFunc http.HandlerFunc
if len(app) > 0 {
app[0].Post("/foo/bar", fiberH)
handlerFunc = FiberApp(app[0])
} else {
handlerFunc = FiberHandlerFunc(fiberH)
}
var r http.Request
r.Method = expectedMethod
r.Body = &netHTTPBody{b: []byte(expectedBody)}
r.RequestURI = expectedRequestURI
r.ContentLength = int64(expectedContentLength)
r.Host = expectedHost
r.RemoteAddr = expectedRemoteAddr
if checkDefaultPort {
r.RemoteAddr = "1.2.3.4"
}
hdr := make(http.Header)
for k, v := range expectedHeader {
hdr.Set(k, v)
}
r.Header = hdr
var w netHTTPResponseWriter
handlerFunc.ServeHTTP(&w, &r)
require.Equal(t, http.StatusBadRequest, w.StatusCode(), "StatusCode")
require.Equal(t, "value1", w.Header().Get("Header1"), "Header1")
require.Equal(t, "value2", w.Header().Get("Header2"), "Header2")
expectedResponseBody := fmt.Sprintf("request body is %q", expectedBody)
require.Equal(t, expectedResponseBody, string(w.body), "Body")
}
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does testFiberToHandlerFunc() do?
testFiberToHandlerFunc() is a function in the fiber codebase, defined in middleware/adaptor/adaptor_test.go.
Where is testFiberToHandlerFunc() defined?
testFiberToHandlerFunc() is defined in middleware/adaptor/adaptor_test.go at line 574.
What calls testFiberToHandlerFunc()?
testFiberToHandlerFunc() is called by 4 function(s): Test_FiberApp, Test_FiberAppDefaultPort, Test_FiberHandler, Test_FiberHandlerDefaultPort.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free