Home / Function/ TestPrepareTrustedCIRDsWith() — gin Function Reference

TestPrepareTrustedCIRDsWith() — gin Function Reference

Architecture documentation for the TestPrepareTrustedCIRDsWith() function in gin_test.go from the gin codebase.

Entity Profile

Dependency Diagram

graph TD
  bceef99c_5100_bb41_c3d3_7534f83eba4d["TestPrepareTrustedCIRDsWith()"]
  5d6e7276_feeb_b8e2_30e8_0ae0827740a5["gin_test.go"]
  bceef99c_5100_bb41_c3d3_7534f83eba4d -->|defined in| 5d6e7276_feeb_b8e2_30e8_0ae0827740a5
  1f90d1ff_42a8_f824_7ab1_c3293d7e69fd["parseCIDR()"]
  bceef99c_5100_bb41_c3d3_7534f83eba4d -->|calls| 1f90d1ff_42a8_f824_7ab1_c3293d7e69fd
  style bceef99c_5100_bb41_c3d3_7534f83eba4d fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

gin_test.go lines 795–898

func TestPrepareTrustedCIRDsWith(t *testing.T) {
	r := New()

	// valid ipv4 cidr
	{
		expectedTrustedCIDRs := []*net.IPNet{parseCIDR("0.0.0.0/0")}
		err := r.SetTrustedProxies([]string{"0.0.0.0/0"})

		require.NoError(t, err)
		assert.Equal(t, expectedTrustedCIDRs, r.trustedCIDRs)
	}

	// invalid ipv4 cidr
	{
		err := r.SetTrustedProxies([]string{"192.168.1.33/33"})

		require.Error(t, err)
	}

	// valid ipv4 address
	{
		expectedTrustedCIDRs := []*net.IPNet{parseCIDR("192.168.1.33/32")}

		err := r.SetTrustedProxies([]string{"192.168.1.33"})

		require.NoError(t, err)
		assert.Equal(t, expectedTrustedCIDRs, r.trustedCIDRs)
	}

	// invalid ipv4 address
	{
		err := r.SetTrustedProxies([]string{"192.168.1.256"})

		require.Error(t, err)
	}

	// valid ipv6 address
	{
		expectedTrustedCIDRs := []*net.IPNet{parseCIDR("2002:0000:0000:1234:abcd:ffff:c0a8:0101/128")}
		err := r.SetTrustedProxies([]string{"2002:0000:0000:1234:abcd:ffff:c0a8:0101"})

		require.NoError(t, err)
		assert.Equal(t, expectedTrustedCIDRs, r.trustedCIDRs)
	}

	// invalid ipv6 address
	{
		err := r.SetTrustedProxies([]string{"gggg:0000:0000:1234:abcd:ffff:c0a8:0101"})

		require.Error(t, err)
	}

	// valid ipv6 cidr
	{
		expectedTrustedCIDRs := []*net.IPNet{parseCIDR("::/0")}
		err := r.SetTrustedProxies([]string{"::/0"})

		require.NoError(t, err)
		assert.Equal(t, expectedTrustedCIDRs, r.trustedCIDRs)
	}

	// invalid ipv6 cidr
	{
		err := r.SetTrustedProxies([]string{"gggg:0000:0000:1234:abcd:ffff:c0a8:0101/129"})

		require.Error(t, err)
	}

	// valid combination
	{
		expectedTrustedCIDRs := []*net.IPNet{
			parseCIDR("::/0"),
			parseCIDR("192.168.0.0/16"),
			parseCIDR("172.16.0.1/32"),
		}
		err := r.SetTrustedProxies([]string{
			"::/0",
			"192.168.0.0/16",
			"172.16.0.1",
		})

Domain

Subdomains

Defined In

Calls

Frequently Asked Questions

What does TestPrepareTrustedCIRDsWith() do?
TestPrepareTrustedCIRDsWith() is a function in the gin codebase, defined in gin_test.go.
Where is TestPrepareTrustedCIRDsWith() defined?
TestPrepareTrustedCIRDsWith() is defined in gin_test.go at line 795.
What does TestPrepareTrustedCIRDsWith() call?
TestPrepareTrustedCIRDsWith() calls 1 function(s): parseCIDR.

Analyze Your Own Codebase

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

Try Supermodel Free