Test_Ctx_Format() — fiber Function Reference
Architecture documentation for the Test_Ctx_Format() function in ctx_test.go from the fiber codebase.
Entity Profile
Dependency Diagram
graph TD 4e066e74_3299_087f_372d_51cc8254c0c4["Test_Ctx_Format()"] 7b3d4933_5ae3_f84d_ff6d_0cb34e268026["ctx_test.go"] 4e066e74_3299_087f_372d_51cc8254c0c4 -->|defined in| 7b3d4933_5ae3_f84d_ff6d_0cb34e268026 style 4e066e74_3299_087f_372d_51cc8254c0c4 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
ctx_test.go lines 1741–1797
func Test_Ctx_Format(t *testing.T) {
t.Parallel()
app := New()
c := app.AcquireCtx(&fasthttp.RequestCtx{})
// set `accepted` to whatever media type was chosen by Format
var accepted string
formatHandlers := func(types ...string) []ResFmt {
fmts := []ResFmt{}
for _, t := range types {
typ := utils.CopyString(t)
fmts = append(fmts, ResFmt{MediaType: typ, Handler: func(_ Ctx) error {
accepted = typ
return nil
}})
}
return fmts
}
c.Request().Header.Set(HeaderAccept, `text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7`)
err := c.Res().Format(formatHandlers("application/xhtml+xml", "application/xml", "foo/bar")...)
require.Equal(t, "application/xhtml+xml", accepted)
require.Equal(t, "application/xhtml+xml", c.GetRespHeader(HeaderContentType))
require.Equal(t, "application/xhtml+xml", c.Res().Get(HeaderContentType))
require.NoError(t, err)
require.NotEqual(t, StatusNotAcceptable, c.Response().StatusCode())
err = c.Res().Format(formatHandlers("foo/bar;a=b")...)
require.Equal(t, "foo/bar;a=b", accepted)
require.Equal(t, "foo/bar;a=b", c.GetRespHeader(HeaderContentType))
require.Equal(t, "foo/bar;a=b", c.Res().Get(HeaderContentType))
require.NoError(t, err)
require.NotEqual(t, StatusNotAcceptable, c.Response().StatusCode())
myError := errors.New("this is an error")
err = c.Format(ResFmt{MediaType: "text/html", Handler: func(_ Ctx) error { return myError }})
require.ErrorIs(t, err, myError)
c.Request().Header.Set(HeaderAccept, "application/json")
err = c.Format(ResFmt{MediaType: "text/html", Handler: func(c Ctx) error { return c.SendStatus(StatusOK) }})
require.Equal(t, StatusNotAcceptable, c.Response().StatusCode())
require.NoError(t, err)
c.Request().Header.Set(HeaderAccept, MIMEApplicationMsgPack)
err = c.Format(ResFmt{MediaType: "text/html", Handler: func(c Ctx) error { return c.SendStatus(StatusOK) }})
require.Equal(t, StatusNotAcceptable, c.Response().StatusCode())
require.NoError(t, err)
err = c.Format(formatHandlers("text/html", "default")...)
require.Equal(t, "default", accepted)
require.Equal(t, "text/html", c.GetRespHeader(HeaderContentType))
require.Equal(t, "text/html", c.Res().Get(HeaderContentType))
require.NoError(t, err)
err = c.Format()
require.ErrorIs(t, err, ErrNoHandlers)
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does Test_Ctx_Format() do?
Test_Ctx_Format() is a function in the fiber codebase, defined in ctx_test.go.
Where is Test_Ctx_Format() defined?
Test_Ctx_Format() is defined in ctx_test.go at line 1741.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free