1
0
mirror of https://github.com/labstack/echo.git synced 2025-01-12 01:22:21 +02:00
echo/website/content/middleware/trailing-slash.md

65 lines
1.2 KiB
Markdown
Raw Normal View History

+++
title = "TrailingSlash Middleware"
description = "Trailing slash middleware for Echo"
[menu.side]
name = "TrailingSlash"
parent = "middleware"
weight = 5
+++
## AddTrailingSlash Middleware
AddTrailingSlash middleware adds a trailing slash to the request URI.
*Usage*
```go
e := echo.New()
e.Pre(middleware.AddTrailingSlash())
```
## RemoveTrailingSlash Middleware
RemoveTrailingSlash middleware removes a trailing slash from the request URI.
*Usage*
```go
e := echo.New()
e.Pre(middleware.RemoveTrailingSlash())
```
### Custom Configuration
*Usage*
```go
e := echo.New()
e.Use(middleware.AddTrailingSlashWithConfig(middleware.TrailingSlashConfig{
RedirectCode: http.StatusMovedPermanently,
}))
```
Example above will add a trailing slash to the request URI and redirect with `308 - StatusMovedPermanently`.
### Configuration
```go
TrailingSlashConfig struct {
// Skipper defines a function to skip middleware.
Skipper Skipper
// Status code to be used when redirecting the request.
// Optional, but when provided the request is redirected using this code.
RedirectCode int `json:"redirect_code"`
}
```
*Default Configuration*
```go
DefaultTrailingSlashConfig = TrailingSlashConfig{
Skipper: defaultSkipper,
}
```