Home / Function/ TestContextClientIPWithMultipleHeaders() — gin Function Reference

TestContextClientIPWithMultipleHeaders() — gin Function Reference

Architecture documentation for the TestContextClientIPWithMultipleHeaders() function in context_test.go from the gin codebase.

Entity Profile

Relationship Graph

Source Code

context_test.go lines 1163–1178

func TestContextClientIPWithMultipleHeaders(t *testing.T) {
	c, _ := CreateTestContext(httptest.NewRecorder())
	c.Request, _ = http.NewRequest(http.MethodGet, "/test", nil)

	// Multiple X-Forwarded-For headers
	c.Request.Header.Add("X-Forwarded-For", "1.2.3.4, "+localhostIP)
	c.Request.Header.Add("X-Forwarded-For", "5.6.7.8")
	c.Request.RemoteAddr = localhostIP + ":1234"

	c.engine.ForwardedByClientIP = true
	c.engine.RemoteIPHeaders = []string{"X-Forwarded-For"}
	_ = c.engine.SetTrustedProxies([]string{localhostIP})

	// Should return 5.6.7.8 (last non-trusted IP)
	assert.Equal(t, "5.6.7.8", c.ClientIP())
}

Domain

Subdomains

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free