caddy/middleware/rewrite.go

24 lines
464 B
Go
Raw Normal View History

2015-01-13 22:43:45 +03:00
package middleware
import (
"net/http"
"github.com/mholt/caddy/config"
)
// Rewrite is middleware for rewriting requests internally to
// a different path.
func Rewrite(rewrites []config.Rewrite) Middleware {
return func(next http.HandlerFunc) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
for _, rule := range rewrites {
if r.URL.Path == rule.From {
r.URL.Path = rule.To
break
}
}
next(w, r)
}
}
}