Home / Function/ configDefault() — fiber Function Reference

configDefault() — fiber Function Reference

Architecture documentation for the configDefault() function in config.go from the fiber codebase.

Entity Profile

Dependency Diagram

graph TD
  c6023790_757f_061a_8517_1c5775fcd2c5["configDefault()"]
  fa00575e_2bdc_4dae_dc24_b596bc545aca["config.go"]
  c6023790_757f_061a_8517_1c5775fcd2c5 -->|defined in| fa00575e_2bdc_4dae_dc24_b596bc545aca
  fc0cf3cb_1102_1bcf_cc3b_7fc7d2aa174f["isScopeToken()"]
  c6023790_757f_061a_8517_1c5775fcd2c5 -->|calls| fc0cf3cb_1102_1bcf_cc3b_7fc7d2aa174f
  style c6023790_757f_061a_8517_1c5775fcd2c5 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

middleware/keyauth/config.go lines 102–164

func configDefault(config ...Config) Config {
	// Return default config if nothing provided
	if len(config) < 1 {
		panic("fiber: keyauth middleware requires a validator function")
	}
	cfg := config[0]

	// Require a validator function
	if cfg.Validator == nil {
		panic("fiber: keyauth middleware requires a validator function")
	}

	// Set default values
	if cfg.Extractor.Extract == nil {
		cfg.Extractor = ConfigDefault.Extractor
	}
	if cfg.Realm == "" {
		cfg.Realm = ConfigDefault.Realm
	}
	if cfg.SuccessHandler == nil {
		cfg.SuccessHandler = ConfigDefault.SuccessHandler
	}
	if cfg.ErrorHandler == nil {
		cfg.ErrorHandler = ConfigDefault.ErrorHandler
	}

	if len(getAuthSchemes(cfg.Extractor)) == 0 && cfg.Challenge == "" {
		cfg.Challenge = fmt.Sprintf("ApiKey realm=%q", cfg.Realm)
	}

	if cfg.Error != "" {
		switch cfg.Error {
		case ErrorInvalidRequest, ErrorInvalidToken, ErrorInsufficientScope:
		default:
			panic("fiber: keyauth unsupported error token")
		}
	}
	if cfg.ErrorDescription != "" && cfg.Error == "" {
		panic("fiber: keyauth error_description requires error")
	}
	if cfg.ErrorURI != "" {
		if cfg.Error == "" {
			panic("fiber: keyauth error_uri requires error")
		}
		if u, err := url.Parse(cfg.ErrorURI); err != nil || !u.IsAbs() {
			panic("fiber: keyauth error_uri must be absolute")
		}
	}
	if cfg.Error == ErrorInsufficientScope {
		if cfg.Scope == "" {
			panic("fiber: keyauth insufficient_scope requires scope")
		}
		for scope := range strings.SplitSeq(cfg.Scope, " ") {
			if scope == "" || !isScopeToken(scope) {
				panic("fiber: keyauth scope contains invalid token")
			}
		}
	} else if cfg.Scope != "" {
		panic("fiber: keyauth scope requires insufficient_scope error")
	}

	return cfg
}

Domain

Subdomains

Frequently Asked Questions

What does configDefault() do?
configDefault() is a function in the fiber codebase, defined in middleware/keyauth/config.go.
Where is configDefault() defined?
configDefault() is defined in middleware/keyauth/config.go at line 102.
What does configDefault() call?
configDefault() calls 1 function(s): isScopeToken.

Analyze Your Own Codebase

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

Try Supermodel Free