Home / Function/ Benchmark_Rewrite() — fiber Function Reference

Benchmark_Rewrite() — fiber Function Reference

Architecture documentation for the Benchmark_Rewrite() function in rewrite_test.go from the fiber codebase.

Entity Profile

Dependency Diagram

graph TD
  0469a4cf_9bd6_2a9f_4120_43df2e3bc827["Benchmark_Rewrite()"]
  f5365631_1ba8_5f21_5ff7_68fb70dbba7b["rewrite_test.go"]
  0469a4cf_9bd6_2a9f_4120_43df2e3bc827 -->|defined in| f5365631_1ba8_5f21_5ff7_68fb70dbba7b
  style 0469a4cf_9bd6_2a9f_4120_43df2e3bc827 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

middleware/rewrite/rewrite_test.go lines 175–271

func Benchmark_Rewrite(b *testing.B) {
	// Helper function to create a new Fiber app with rewrite middleware
	createApp := func(config Config) *fiber.App {
		app := fiber.New()
		app.Use(New(config))
		return app
	}

	// Benchmark: Rewrite with Next function always returns true
	b.Run("Next always true", func(b *testing.B) {
		app := createApp(Config{
			Next: func(fiber.Ctx) bool {
				return true
			},
			Rules: map[string]string{
				"/old": "/new",
			},
		})

		reqCtx := &fasthttp.RequestCtx{}
		reqCtx.Request.SetRequestURI("/old")
		b.ReportAllocs()
		for b.Loop() {
			app.Handler()(reqCtx)
		}
	})

	// Benchmark: Rewrite with Next function always returns false
	b.Run("Next always false", func(b *testing.B) {
		app := createApp(Config{
			Next: func(fiber.Ctx) bool {
				return false
			},
			Rules: map[string]string{
				"/old": "/new",
			},
		})

		reqCtx := &fasthttp.RequestCtx{}
		reqCtx.Request.SetRequestURI("/old")
		b.ReportAllocs()
		for b.Loop() {
			app.Handler()(reqCtx)
		}
	})

	// Benchmark: Rewrite with tokens
	b.Run("Rewrite with tokens", func(b *testing.B) {
		app := createApp(Config{
			Rules: map[string]string{
				"/users/*/orders/*": "/user/$1/order/$2",
			},
		})

		reqCtx := &fasthttp.RequestCtx{}
		reqCtx.Request.SetRequestURI("/users/123/orders/456")
		b.ReportAllocs()
		for b.Loop() {
			app.Handler()(reqCtx)
		}
	})

	// Benchmark: Non-matching request, handled by default route
	b.Run("NonMatch with default", func(b *testing.B) {
		app := createApp(Config{
			Rules: map[string]string{
				"/users/*/orders/*": "/user/$1/order/$2",
			},
		})
		app.Use(func(c fiber.Ctx) error {
			return c.SendStatus(fiber.StatusOK)
		})

		reqCtx := &fasthttp.RequestCtx{}
		reqCtx.Request.SetRequestURI("/not-matching-any-rule")
		b.ReportAllocs()
		for b.Loop() {
			app.Handler()(reqCtx)
		}
	})

Domain

Subdomains

Frequently Asked Questions

What does Benchmark_Rewrite() do?
Benchmark_Rewrite() is a function in the fiber codebase, defined in middleware/rewrite/rewrite_test.go.
Where is Benchmark_Rewrite() defined?
Benchmark_Rewrite() is defined in middleware/rewrite/rewrite_test.go at line 175.

Analyze Your Own Codebase

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

Try Supermodel Free