Test_Ctx_HasBody() — fiber Function Reference
Architecture documentation for the Test_Ctx_HasBody() function in ctx_test.go from the fiber codebase.
Entity Profile
Dependency Diagram
graph TD ecf115d1_af62_3e44_7992_4f14503a109c["Test_Ctx_HasBody()"] 7b3d4933_5ae3_f84d_ff6d_0cb34e268026["ctx_test.go"] ecf115d1_af62_3e44_7992_4f14503a109c -->|defined in| 7b3d4933_5ae3_f84d_ff6d_0cb34e268026 style ecf115d1_af62_3e44_7992_4f14503a109c fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
ctx_test.go lines 6503–6596
func Test_Ctx_HasBody(t *testing.T) {
t.Parallel()
app := New()
acquire := func(t *testing.T) CustomCtx {
t.Helper()
ctx := app.AcquireCtx(&fasthttp.RequestCtx{})
require.NotNil(t, ctx)
t.Cleanup(func() { app.ReleaseCtx(ctx) })
return ctx
}
setTransferEncoding := func(t *testing.T, ctx Ctx, value string) {
t.Helper()
hdr := &ctx.Request().Header
hdr.DisableSpecialHeader()
hdr.Set(HeaderTransferEncoding, value)
hdr.Set(HeaderContentLength, "0")
hdr.EnableSpecialHeader()
require.Zero(t, hdr.ContentLength())
require.Empty(t, ctx.Request().Body())
}
t.Run("body bytes", func(t *testing.T) {
t.Parallel()
ctx := acquire(t)
ctx.Request().SetBody([]byte("test"))
require.True(t, ctx.HasBody())
})
t.Run("content length header", func(t *testing.T) {
t.Parallel()
ctx := acquire(t)
ctx.Request().Header.SetContentLength(4)
require.True(t, ctx.HasBody())
})
t.Run("chunked sentinel", func(t *testing.T) {
t.Parallel()
ctx := acquire(t)
ctx.Request().Header.SetContentLength(-1)
require.Equal(t, -1, ctx.Request().Header.ContentLength())
require.Empty(t, ctx.Request().Body())
require.True(t, ctx.HasBody())
})
t.Run("transfer encoding chunked", func(t *testing.T) {
t.Parallel()
ctx := acquire(t)
setTransferEncoding(t, ctx, "chunked")
require.True(t, ctx.HasBody())
})
t.Run("transfer encoding whitespace", func(t *testing.T) {
t.Parallel()
ctx := acquire(t)
setTransferEncoding(t, ctx, " ChUnKeD ")
require.True(t, ctx.HasBody())
})
t.Run("transfer encoding parameters", func(t *testing.T) {
t.Parallel()
ctx := acquire(t)
setTransferEncoding(t, ctx, "chunked; q=1")
require.True(t, ctx.HasBody())
})
t.Run("transfer encoding multiple values", func(t *testing.T) {
t.Parallel()
ctx := acquire(t)
setTransferEncoding(t, ctx, "gzip, chunked")
require.True(t, ctx.HasBody())
})
t.Run("transfer encoding identity", func(t *testing.T) {
t.Parallel()
ctx := acquire(t)
setTransferEncoding(t, ctx, "identity")
require.False(t, ctx.HasBody())
})
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does Test_Ctx_HasBody() do?
Test_Ctx_HasBody() is a function in the fiber codebase, defined in ctx_test.go.
Where is Test_Ctx_HasBody() defined?
Test_Ctx_HasBody() is defined in ctx_test.go at line 6503.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free