【发布时间】:2019-05-04 17:44:20
【问题描述】:
我需要在 gorilla mux 中实现不区分大小写的 URL 匹配为it is done here for built in mux
我尝试使用这样的中间件来达到同样的效果
router := mux.NewRouter()
router.Use(srv.GetCaseMiddleware())
//GetCaseMiddleware middleware to make match URL case insensitive
func (srv *Server) GetCaseMiddleware() (w mux.MiddlewareFunc) {
var middleware mux.MiddlewareFunc = func(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
r.URL.Path = strings.ToLower(r.URL.Path)
next.ServeHTTP(w, r)
})
}
return middleware
}
但是如果 URL 大小写改变它仍然会抛出 404,有没有办法使用 gorilla-mux 来实现它
【问题讨论】: