Home / File/ config.go — fiber Source File

config.go — fiber Source File

Architecture documentation for config.go, a go file in the fiber codebase. 1 imports, 0 dependents.

File go FiberCore Adapters 1 imports 2 functions 1 classes

Entity Profile

Dependency Diagram

graph LR
  c841b68d_7630_89be_ddf3_c1407e851748["config.go"]
  d31b53b2_3d0c_f538_f920_e1ae643c437c["time"]
  c841b68d_7630_89be_ddf3_c1407e851748 --> d31b53b2_3d0c_f538_f920_e1ae643c437c
  style c841b68d_7630_89be_ddf3_c1407e851748 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

package timeout

import (
	"time"

	"github.com/gofiber/fiber/v3"
)

// Config holds the configuration for the timeout middleware.
type Config struct {
	// Next defines a function to skip this middleware.
	// Optional. Default: nil
	Next func(c fiber.Ctx) bool

	// OnTimeout is executed when a timeout occurs.
	// Optional. Default: nil (return fiber.ErrRequestTimeout)
	OnTimeout fiber.Handler

	// Errors defines custom errors that are treated as timeouts.
	// Optional. Default: nil
	Errors []error

	// Timeout defines the timeout duration for all routes.
	// Optional. Default: 0 (no timeout)
	Timeout time.Duration
}

// ConfigDefault is the default configuration.
var ConfigDefault = Config{
	Next:      nil,
	Timeout:   0,
	OnTimeout: nil,
	Errors:    nil,
}

// configDefault returns the first Config value or ConfigDefault.
func configDefault(config ...Config) Config {
	if len(config) < 1 {
		return ConfigDefault
	}

	cfg := config[0]

	if cfg.Timeout < 0 {
		cfg.Timeout = ConfigDefault.Timeout
	}
	if cfg.Errors == nil {
		cfg.Errors = ConfigDefault.Errors
	}
	if cfg.OnTimeout == nil {
		cfg.OnTimeout = ConfigDefault.OnTimeout
	}
	if cfg.Next == nil {
		cfg.Next = ConfigDefault.Next
	}
	return cfg
}

Domain

Subdomains

Classes

Types

Dependencies

  • time

Frequently Asked Questions

What does config.go do?
config.go is a source file in the fiber codebase, written in go. It belongs to the FiberCore domain, Adapters subdomain.
What functions are defined in config.go?
config.go defines 2 function(s): bool, configDefault.
What does config.go depend on?
config.go imports 1 module(s): time.
Where is config.go in the architecture?
config.go is located at middleware/timeout/config.go (domain: FiberCore, subdomain: Adapters, directory: middleware/timeout).

Analyze Your Own Codebase

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

Try Supermodel Free