github.com/gofiber/fiber/v2@v2.47.0/middleware/etag/config.go (about) 1 package etag 2 3 import ( 4 "github.com/gofiber/fiber/v2" 5 ) 6 7 // Config defines the config for middleware. 8 type Config struct { 9 // Weak indicates that a weak validator is used. Weak etags are easy 10 // to generate, but are far less useful for comparisons. Strong 11 // validators are ideal for comparisons but can be very difficult 12 // to generate efficiently. Weak ETag values of two representations 13 // of the same resources might be semantically equivalent, but not 14 // byte-for-byte identical. This means weak etags prevent caching 15 // when byte range requests are used, but strong etags mean range 16 // requests can still be cached. 17 Weak bool 18 19 // Next defines a function to skip this middleware when returned true. 20 // 21 // Optional. Default: nil 22 Next func(c *fiber.Ctx) bool 23 } 24 25 // ConfigDefault is the default config 26 var ConfigDefault = Config{ 27 Weak: false, 28 Next: nil, 29 } 30 31 // Helper function to set default values 32 func configDefault(config ...Config) Config { 33 // Return default config if nothing provided 34 if len(config) < 1 { 35 return ConfigDefault 36 } 37 38 // Override default config 39 cfg := config[0] 40 41 // Set default values 42 43 return cfg 44 }