github.com/gofiber/fiber/v2@v2.47.0/middleware/rewrite/config.go (about)

     1  package rewrite
     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  	// Next 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  	rulesRegex map[*regexp.Regexp]string
    25  }
    26  
    27  // Helper function to set default values
    28  func configDefault(config ...Config) Config {
    29  	// Return default config if nothing provided
    30  	if len(config) < 1 {
    31  		return Config{}
    32  	}
    33  
    34  	// Override default config
    35  	cfg := config[0]
    36  
    37  	return cfg
    38  }