MCPcopy
hub / github.com/gofiber/fiber / configDefault

Function configDefault

middleware/idempotency/config.go:84–132  ·  view source on GitHub ↗

Helper function to set default values

(config ...Config)

Source from the content-addressed store, hash-verified

82
83// Helper function to set default values
84func configDefault(config ...Config) Config {
85 // Return default config if nothing provided
86 if len(config) < 1 {
87 cfg := ConfigDefault
88
89 cfg.Lock = NewMemoryLock()
90 cfg.Storage = memory.New(memory.Config{
91 GCInterval: cfg.Lifetime / 2, // Half the lifetime interval
92 })
93
94 return cfg
95 }
96
97 // Override default config
98 cfg := config[0]
99
100 // Set default values
101
102 if cfg.Next == nil {
103 cfg.Next = ConfigDefault.Next
104 }
105
106 if cfg.Lifetime.Nanoseconds() == 0 {
107 cfg.Lifetime = ConfigDefault.Lifetime
108 }
109
110 if cfg.KeyHeader == "" {
111 cfg.KeyHeader = ConfigDefault.KeyHeader
112 }
113 if cfg.KeyHeaderValidate == nil {
114 cfg.KeyHeaderValidate = ConfigDefault.KeyHeaderValidate
115 }
116
117 if cfg.KeepResponseHeaders != nil && len(cfg.KeepResponseHeaders) == 0 {
118 cfg.KeepResponseHeaders = ConfigDefault.KeepResponseHeaders
119 }
120
121 if cfg.Lock == nil {
122 cfg.Lock = NewMemoryLock()
123 }
124
125 if cfg.Storage == nil {
126 cfg.Storage = memory.New(memory.Config{
127 GCInterval: cfg.Lifetime / 2,
128 })
129 }
130
131 return cfg
132}

Callers 3

NewFunction · 0.70

Calls 2

NewFunction · 0.92
NewMemoryLockFunction · 0.85

Tested by 2