Home / Function/ New() — fiber Function Reference

New() — fiber Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  26476639_3c5d_f2b6_c612_ef00dc509b72["New()"]
  8dd0510f_dab1_1238_ceb0_f0d4d311041e["recover.go"]
  26476639_3c5d_f2b6_c612_ef00dc509b72 -->|defined in| 8dd0510f_dab1_1238_ceb0_f0d4d311041e
  style 26476639_3c5d_f2b6_c612_ef00dc509b72 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

middleware/recover/recover.go lines 16–45

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

	// Return new handler
	return func(c fiber.Ctx) (err error) { //nolint:nonamedreturns // Uses recover() to overwrite the error
		// Don't execute middleware if Next returns true
		if cfg.Next != nil && cfg.Next(c) {
			return c.Next()
		}

		// Catch panics
		defer func() {
			if r := recover(); r != nil {
				if cfg.EnableStackTrace {
					cfg.StackTraceHandler(c, r)
				}

				var ok bool
				if err, ok = r.(error); !ok {
					// Set error that will call the global error handler
					err = fmt.Errorf("%v", r)
				}
			}
		}()

		// Return err if exist, else move to next handler
		return c.Next()
	}
}

Domain

Subdomains

Frequently Asked Questions

What does New() do?
New() is a function in the fiber codebase, defined in middleware/recover/recover.go.
Where is New() defined?
New() is defined in middleware/recover/recover.go at line 16.

Analyze Your Own Codebase

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

Try Supermodel Free