Home / Function/ Test_Request_MaxRedirects() — fiber Function Reference

Test_Request_MaxRedirects() — fiber Function Reference

Architecture documentation for the Test_Request_MaxRedirects() function in request_test.go from the fiber codebase.

Entity Profile

Dependency Diagram

graph TD
  6f609c10_7cdc_abf6_da7b_42b64734a218["Test_Request_MaxRedirects()"]
  3cffa885_3458_eedf_a1f5_10f9dd0f3622["request_test.go"]
  6f609c10_7cdc_abf6_da7b_42b64734a218 -->|defined in| 3cffa885_3458_eedf_a1f5_10f9dd0f3622
  style 6f609c10_7cdc_abf6_da7b_42b64734a218 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

client/request_test.go lines 1525–1588

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

	ln := fasthttputil.NewInmemoryListener()

	app := fiber.New()

	app.Get("/", func(c fiber.Ctx) error {
		if c.Request().URI().QueryArgs().Has("foo") {
			return c.Redirect().To("/foo")
		}
		return c.Redirect().To("/")
	})
	app.Get("/foo", func(c fiber.Ctx) error {
		return c.SendString("redirect")
	})

	go func() { assert.NoError(t, app.Listener(ln, fiber.ListenConfig{DisableStartupMessage: true})) }()

	t.Run("success", func(t *testing.T) {
		t.Parallel()

		client := New().SetDial(func(_ string) (net.Conn, error) { return ln.Dial() })

		resp, err := AcquireRequest().
			SetClient(client).
			SetMaxRedirects(1).
			Get("http://example.com?foo")
		body := resp.String()
		code := resp.StatusCode()

		require.Equal(t, 200, code)
		require.Equal(t, "redirect", body)
		require.NoError(t, err)

		resp.Close()
	})

	t.Run("error", func(t *testing.T) {
		t.Parallel()

		client := New().SetDial(func(_ string) (net.Conn, error) { return ln.Dial() })

		resp, err := AcquireRequest().
			SetClient(client).
			SetMaxRedirects(1).
			Get("http://example.com")

		require.Nil(t, resp)
		require.Equal(t, "too many redirects detected when doing the request", err.Error())
	})

	t.Run("MaxRedirects", func(t *testing.T) {
		t.Parallel()

		client := New().SetDial(func(_ string) (net.Conn, error) { return ln.Dial() })

		req := AcquireRequest().
			SetClient(client).
			SetMaxRedirects(3)

		require.Equal(t, 3, req.MaxRedirects())
	})
}

Domain

Subdomains

Frequently Asked Questions

What does Test_Request_MaxRedirects() do?
Test_Request_MaxRedirects() is a function in the fiber codebase, defined in client/request_test.go.
Where is Test_Request_MaxRedirects() defined?
Test_Request_MaxRedirects() is defined in client/request_test.go at line 1525.

Analyze Your Own Codebase

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

Try Supermodel Free