mirror of
https://github.com/containous/traefik.git
synced 2024-12-24 21:34:39 +03:00
208998972a
Signed-off-by: Emile Vauge <emile@vauge.com>
29 lines
610 B
Go
29 lines
610 B
Go
package middlewares
|
|
|
|
import (
|
|
"encoding/json"
|
|
"log"
|
|
"net/http"
|
|
|
|
"github.com/containous/mux"
|
|
)
|
|
|
|
// Routes holds the gorilla mux routes (for the API & co).
|
|
type Routes struct {
|
|
router *mux.Router
|
|
}
|
|
|
|
// NewRoutes return a Routes based on the given router.
|
|
func NewRoutes(router *mux.Router) *Routes {
|
|
return &Routes{router}
|
|
}
|
|
|
|
func (router *Routes) ServeHTTP(rw http.ResponseWriter, r *http.Request, next http.HandlerFunc) {
|
|
routeMatch := mux.RouteMatch{}
|
|
if router.router.Match(r, &routeMatch) {
|
|
json, _ := json.Marshal(routeMatch.Handler)
|
|
log.Println("Request match route ", json)
|
|
}
|
|
next(rw, r)
|
|
}
|