Test_Ctx_IPs() — fiber Function Reference
Architecture documentation for the Test_Ctx_IPs() function in ctx_test.go from the fiber codebase.
Entity Profile
Dependency Diagram
graph TD ec6af1c0_8134_3ac7_b692_923a57abf6df["Test_Ctx_IPs()"] 7b3d4933_5ae3_f84d_ff6d_0cb34e268026["ctx_test.go"] ec6af1c0_8134_3ac7_b692_923a57abf6df -->|defined in| 7b3d4933_5ae3_f84d_ff6d_0cb34e268026 style ec6af1c0_8134_3ac7_b692_923a57abf6df fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
ctx_test.go lines 2970–3004
func Test_Ctx_IPs(t *testing.T) {
t.Parallel()
app := New()
c := app.AcquireCtx(&fasthttp.RequestCtx{})
// normal happy path test case
c.Request().Header.Set(HeaderXForwardedFor, "127.0.0.1, 127.0.0.2, 127.0.0.3")
require.Equal(t, []string{"127.0.0.1", "127.0.0.2", "127.0.0.3"}, c.IPs())
// inconsistent space formatting
c.Request().Header.Set(HeaderXForwardedFor, "127.0.0.1,127.0.0.2 ,127.0.0.3")
require.Equal(t, []string{"127.0.0.1", "127.0.0.2", "127.0.0.3"}, c.IPs())
// invalid IPs are allowed to be returned
c.Request().Header.Set(HeaderXForwardedFor, "invalid, 127.0.0.1, 127.0.0.2")
require.Equal(t, []string{"invalid", "127.0.0.1", "127.0.0.2"}, c.IPs())
c.Request().Header.Set(HeaderXForwardedFor, "127.0.0.1, invalid, 127.0.0.2")
require.Equal(t, []string{"127.0.0.1", "invalid", "127.0.0.2"}, c.IPs())
// ensure that the ordering of IPs in the header is maintained
c.Request().Header.Set(HeaderXForwardedFor, "127.0.0.3, 127.0.0.1, 127.0.0.2")
require.Equal(t, []string{"127.0.0.3", "127.0.0.1", "127.0.0.2"}, c.IPs())
// ensure for IPv6
c.Request().Header.Set(HeaderXForwardedFor, "9396:9549:b4f7:8ed0:4791:1330:8c06:e62d, invalid, 2345:0425:2CA1::0567:5673:23b5")
require.Equal(t, []string{"9396:9549:b4f7:8ed0:4791:1330:8c06:e62d", "invalid", "2345:0425:2CA1::0567:5673:23b5"}, c.IPs())
// empty header
c.Request().Header.Set(HeaderXForwardedFor, "")
require.Empty(t, c.IPs())
// missing header
c.Request()
require.Empty(t, c.IPs())
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does Test_Ctx_IPs() do?
Test_Ctx_IPs() is a function in the fiber codebase, defined in ctx_test.go.
Where is Test_Ctx_IPs() defined?
Test_Ctx_IPs() is defined in ctx_test.go at line 2970.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free