Home / Function/ Test_Ctx_Scheme() — fiber Function Reference

Test_Ctx_Scheme() — fiber Function Reference

Architecture documentation for the Test_Ctx_Scheme() function in ctx_test.go from the fiber codebase.

Entity Profile

Dependency Diagram

graph TD
  268408fa_d37c_6f4f_06f3_98d4832905ef["Test_Ctx_Scheme()"]
  7b3d4933_5ae3_f84d_ff6d_0cb34e268026["ctx_test.go"]
  268408fa_d37c_6f4f_06f3_98d4832905ef -->|defined in| 7b3d4933_5ae3_f84d_ff6d_0cb34e268026
  style 268408fa_d37c_6f4f_06f3_98d4832905ef fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

ctx_test.go lines 3904–3945

func Test_Ctx_Scheme(t *testing.T) {
	t.Parallel()

	app := New(Config{
		TrustProxy: true,
		TrustProxyConfig: TrustProxyConfig{
			Proxies: []string{"0.0.0.0"},
		},
	})

	freq := &fasthttp.RequestCtx{}
	freq.SetRemoteAddr(net.Addr(&net.TCPAddr{IP: net.ParseIP("0.0.0.0")}))
	freq.Request.Header.Set("X-Forwarded", "invalid")

	c := app.AcquireCtx(freq)

	c.Request().Header.Set(HeaderXForwardedProto, schemeHTTPS)
	require.Equal(t, schemeHTTPS, c.Scheme())
	c.Request().Header.Reset()

	c.Request().Header.Set(HeaderXForwardedProtocol, schemeHTTPS)
	require.Equal(t, schemeHTTPS, c.Scheme())
	c.Request().Header.Reset()

	c.Request().Header.Set(HeaderXForwardedProto, "https, http")
	require.Equal(t, schemeHTTPS, c.Scheme())
	c.Request().Header.Reset()

	c.Request().Header.Set(HeaderXForwardedProtocol, "https, http")
	require.Equal(t, schemeHTTPS, c.Scheme())
	c.Request().Header.Reset()

	c.Request().Header.Set(HeaderXForwardedSsl, "on")
	require.Equal(t, schemeHTTPS, c.Scheme())
	c.Request().Header.Reset()

	c.Request().Header.Set(HeaderXUrlScheme, schemeHTTPS)
	require.Equal(t, schemeHTTPS, c.Scheme())
	c.Request().Header.Reset()

	require.Equal(t, schemeHTTP, c.Scheme())
}

Domain

Subdomains

Defined In

Frequently Asked Questions

What does Test_Ctx_Scheme() do?
Test_Ctx_Scheme() is a function in the fiber codebase, defined in ctx_test.go.
Where is Test_Ctx_Scheme() defined?
Test_Ctx_Scheme() is defined in ctx_test.go at line 3904.

Analyze Your Own Codebase

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

Try Supermodel Free