Home / Function/ New() — fiber Function Reference

New() — fiber Function Reference

Architecture documentation for the New() function in rewrite.go from the fiber codebase.

Entity Profile

Dependency Diagram

graph TD
  007e0eb7_e97b_8d0b_e905_d52e500e03b5["New()"]
  536e0d54_9ebb_c7d0_fc9c_081f958e50a1["rewrite.go"]
  007e0eb7_e97b_8d0b_e905_d52e500e03b5 -->|defined in| 536e0d54_9ebb_c7d0_fc9c_081f958e50a1
  4a394aab_d536_5777_03da_0eb6c3f5018c["captureTokens()"]
  007e0eb7_e97b_8d0b_e905_d52e500e03b5 -->|calls| 4a394aab_d536_5777_03da_0eb6c3f5018c
  style 007e0eb7_e97b_8d0b_e905_d52e500e03b5 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

middleware/rewrite/rewrite.go lines 12–38

func New(config ...Config) fiber.Handler {
	cfg := configDefault(config...)

	// Initialize
	cfg.rulesRegex = map[*regexp.Regexp]string{}
	for k, v := range cfg.Rules {
		k = strings.ReplaceAll(k, "*", "(.*)")
		k += "$"
		cfg.rulesRegex[regexp.MustCompile(k)] = v
	}
	// Middleware function
	return func(c fiber.Ctx) error {
		// Next request to skip middleware
		if cfg.Next != nil && cfg.Next(c) {
			return c.Next()
		}
		// Rewrite
		for k, v := range cfg.rulesRegex {
			replacer := captureTokens(k, c.Path())
			if replacer != nil {
				c.Path(replacer.Replace(v))
				break
			}
		}
		return c.Next()
	}
}

Domain

Subdomains

Frequently Asked Questions

What does New() do?
New() is a function in the fiber codebase, defined in middleware/rewrite/rewrite.go.
Where is New() defined?
New() is defined in middleware/rewrite/rewrite.go at line 12.
What does New() call?
New() calls 1 function(s): captureTokens.

Analyze Your Own Codebase

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

Try Supermodel Free