Rewrite Middleware

Rewrite middleware rewrites the URL path based on provided rules. It can be helpful for backward compatibility or just creating cleaner and more descriptive links.

Usage

e.Pre(middleware.Rewrite(map[string]string{
  "/old":              "/new",
  "/api/*":            "/$1",
  "/js/*":             "/public/javascripts/$1",
  "/users/*/orders/*": "/user/$1/order/$2",
}))

The values captured in asterisk can be retrieved by index e.g. $1, $2 and so on.

Custom Configuration

Usage

e := echo.New()
e.Pre(middleware.RewriteWithConfig(middleware.RewriteConfig{}))

Configuration

// RewriteConfig defines the config for Rewrite middleware.
RewriteConfig struct {
  // Skipper defines a function to skip middleware.
  Skipper Skipper

  // Rules defines the URL path rewrite rules.
  Rules map[string]string `yaml:"rules"`
}

Default Configuration

Name Value
Skipper DefaultSkipper

Rewrite middleware should be registered via Echo#Pre() to get triggered before the router.