github.com/gofiber/fiber/v2@v2.47.0/middleware/redirect/config.go (about) 1 package redirect 2 3 import ( 4 "regexp" 5 6 "github.com/gofiber/fiber/v2" 7 ) 8 9 // Config defines the config for middleware. 10 type Config struct { 11 // Filter defines a function to skip middleware. 12 // Optional. Default: nil 13 Next func(*fiber.Ctx) bool 14 15 // Rules defines the URL path rewrite rules. The values captured in asterisk can be 16 // retrieved by index e.g. $1, $2 and so on. 17 // Required. Example: 18 // "/old": "/new", 19 // "/api/*": "/$1", 20 // "/js/*": "/public/javascripts/$1", 21 // "/users/*/orders/*": "/user/$1/order/$2", 22 Rules map[string]string 23 24 // The status code when redirecting 25 // This is ignored if Redirect is disabled 26 // Optional. Default: 302 Temporary Redirect 27 StatusCode int 28 29 rulesRegex map[*regexp.Regexp]string 30 } 31 32 // ConfigDefault is the default config 33 var ConfigDefault = Config{ 34 StatusCode: fiber.StatusFound, 35 } 36 37 // Helper function to set default values 38 func configDefault(config ...Config) Config { 39 // Return default config if nothing provided 40 if len(config) < 1 { 41 return ConfigDefault 42 } 43 44 // Override default config 45 cfg := config[0] 46 47 // Set default values 48 if cfg.StatusCode == 0 { 49 cfg.StatusCode = ConfigDefault.StatusCode 50 } 51 52 return cfg 53 }