Home / Function/ Test_Cache_CustomNext() — fiber Function Reference

Test_Cache_CustomNext() — fiber Function Reference

Architecture documentation for the Test_Cache_CustomNext() function in cache_test.go from the fiber codebase.

Entity Profile

Dependency Diagram

graph TD
  9885c6e1_d0ac_99b1_f843_bbf557b20958["Test_Cache_CustomNext()"]
  8453a087_9678_fe96_1b20_2d125b6f8656["cache_test.go"]
  9885c6e1_d0ac_99b1_f843_bbf557b20958 -->|defined in| 8453a087_9678_fe96_1b20_2d125b6f8656
  style 9885c6e1_d0ac_99b1_f843_bbf557b20958 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

middleware/cache/cache_test.go lines 995–1036

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

	app := fiber.New()

	app.Use(New(Config{
		Next: func(c fiber.Ctx) bool {
			return c.Response().StatusCode() != fiber.StatusOK
		},
	}))

	count := 0
	app.Get("/", func(c fiber.Ctx) error {
		count++
		return c.SendString(strconv.Itoa(count))
	})

	errorCount := 0
	app.Get("/error", func(c fiber.Ctx) error {
		errorCount++
		return c.Status(fiber.StatusInternalServerError).SendString(strconv.Itoa(errorCount))
	})

	resp, err := app.Test(httptest.NewRequest(fiber.MethodGet, "/", http.NoBody))
	require.NoError(t, err)
	body, err := io.ReadAll(resp.Body)
	require.NoError(t, err)

	respCached, err := app.Test(httptest.NewRequest(fiber.MethodGet, "/", http.NoBody))
	require.NoError(t, err)
	bodyCached, err := io.ReadAll(respCached.Body)
	require.NoError(t, err)
	require.True(t, bytes.Equal(body, bodyCached))
	require.NotEmpty(t, respCached.Header.Get(fiber.HeaderCacheControl))

	_, err = app.Test(httptest.NewRequest(fiber.MethodGet, "/error", http.NoBody))
	require.NoError(t, err)

	errRespCached, err := app.Test(httptest.NewRequest(fiber.MethodGet, "/error", http.NoBody))
	require.NoError(t, err)
	require.Empty(t, errRespCached.Header.Get(fiber.HeaderCacheControl))
}

Subdomains

Frequently Asked Questions

What does Test_Cache_CustomNext() do?
Test_Cache_CustomNext() is a function in the fiber codebase, defined in middleware/cache/cache_test.go.
Where is Test_Cache_CustomNext() defined?
Test_Cache_CustomNext() is defined in middleware/cache/cache_test.go at line 995.

Analyze Your Own Codebase

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

Try Supermodel Free