parent
7b06be8f5e
commit
15732269da
2 changed files with 14 additions and 6 deletions
8
rules.go
8
rules.go
|
@ -45,7 +45,7 @@ func (r *Rules) hostRegexp(hosts ...string) *mux.Route {
|
||||||
func (r *Rules) path(paths ...string) *mux.Route {
|
func (r *Rules) path(paths ...string) *mux.Route {
|
||||||
router := r.route.route.Subrouter()
|
router := r.route.route.Subrouter()
|
||||||
for _, path := range paths {
|
for _, path := range paths {
|
||||||
router.Path(types.CanonicalDomain(path))
|
router.Path(strings.TrimSpace(path))
|
||||||
}
|
}
|
||||||
return r.route.route
|
return r.route.route
|
||||||
}
|
}
|
||||||
|
@ -53,7 +53,7 @@ func (r *Rules) path(paths ...string) *mux.Route {
|
||||||
func (r *Rules) pathPrefix(paths ...string) *mux.Route {
|
func (r *Rules) pathPrefix(paths ...string) *mux.Route {
|
||||||
router := r.route.route.Subrouter()
|
router := r.route.route.Subrouter()
|
||||||
for _, path := range paths {
|
for _, path := range paths {
|
||||||
router.PathPrefix(types.CanonicalDomain(path))
|
router.PathPrefix(strings.TrimSpace(path))
|
||||||
}
|
}
|
||||||
return r.route.route
|
return r.route.route
|
||||||
}
|
}
|
||||||
|
@ -69,7 +69,7 @@ func (r *Rules) pathStrip(paths ...string) *mux.Route {
|
||||||
r.route.stripPrefixes = paths
|
r.route.stripPrefixes = paths
|
||||||
router := r.route.route.Subrouter()
|
router := r.route.route.Subrouter()
|
||||||
for _, path := range paths {
|
for _, path := range paths {
|
||||||
router.Path(types.CanonicalDomain(path))
|
router.Path(strings.TrimSpace(path))
|
||||||
}
|
}
|
||||||
return r.route.route
|
return r.route.route
|
||||||
}
|
}
|
||||||
|
@ -79,7 +79,7 @@ func (r *Rules) pathPrefixStrip(paths ...string) *mux.Route {
|
||||||
r.route.stripPrefixes = paths
|
r.route.stripPrefixes = paths
|
||||||
router := r.route.route.Subrouter()
|
router := r.route.route.Subrouter()
|
||||||
for _, path := range paths {
|
for _, path := range paths {
|
||||||
router.PathPrefix(types.CanonicalDomain(path))
|
router.PathPrefix(strings.TrimSpace(path))
|
||||||
}
|
}
|
||||||
return r.route.route
|
return r.route.route
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,15 +40,23 @@ func TestParseTwoRules(t *testing.T) {
|
||||||
routeResult, err := rules.Parse(expression)
|
routeResult, err := rules.Parse(expression)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal("Error while building route for Host:foo.bar;Path:/foobar")
|
t.Fatal("Error while building route for Host:foo.bar;Path:/FOObar")
|
||||||
}
|
}
|
||||||
|
|
||||||
request, err := http.NewRequest("GET", "http://foo.bar/foobar", nil)
|
request, err := http.NewRequest("GET", "http://foo.bar/foobar", nil)
|
||||||
routeMatch := routeResult.Match(request, &mux.RouteMatch{Route: routeResult})
|
routeMatch := routeResult.Match(request, &mux.RouteMatch{Route: routeResult})
|
||||||
|
|
||||||
|
if routeMatch == true {
|
||||||
|
t.Log(err)
|
||||||
|
t.Fatal("Rule Host:foo.bar;Path:/FOObar don't match")
|
||||||
|
}
|
||||||
|
|
||||||
|
request, err = http.NewRequest("GET", "http://foo.bar/FOObar", nil)
|
||||||
|
routeMatch = routeResult.Match(request, &mux.RouteMatch{Route: routeResult})
|
||||||
|
|
||||||
if routeMatch == false {
|
if routeMatch == false {
|
||||||
t.Log(err)
|
t.Log(err)
|
||||||
t.Fatal("Rule Host:foo.bar;Path:/foobar don't match")
|
t.Fatal("Rule Host:foo.bar;Path:/FOObar don't match")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue