Revert "rewrite: Raise error if rewrite path does not begin with / #1610 (#1629)"

This reverts commit e0ed709397.
This commit is contained in:
Matthew Holt 2017-05-02 09:30:18 -06:00
parent 6d9783a267
commit 9fbac10a4b
2 changed files with 5 additions and 19 deletions

View File

@ -76,10 +76,6 @@ func rewriteParse(c *caddy.Controller) ([]httpserver.HandlerConfig, error) {
return nil, c.ArgErr()
}
to = strings.Join(args1, " ")
// ensure rewrite path begins with /
if !strings.HasPrefix(to, "/") {
return nil, c.Errf("%s:%d - Syntax error: Rewrite path must begin with '/'. Provided: '%s'", c.File(), c.Line(), c.Val())
}
case "ext":
args1 := c.RemainingArgs()
if len(args1) == 0 {
@ -94,20 +90,14 @@ func rewriteParse(c *caddy.Controller) ([]httpserver.HandlerConfig, error) {
if to == "" {
return nil, c.ArgErr()
}
if rule, err = NewComplexRule(base, pattern, to, ext, matcher); err != nil {
return nil, err
}
rules = append(rules, rule)
// handle case of 2 arguments: "from to"
// the only unhandled case is 2 and above
default:
// ensure rewrite path begins with /
topath := strings.Join(args[1:], " ")
if !strings.HasPrefix(topath, "/") {
return nil, c.Errf("%s:%d - Syntax error: Rewrite path must begin with '/'. Provided: '%s'", c.File(), c.Line(), c.Val())
}
rule = NewSimpleRule(args[0], topath)
rule = NewSimpleRule(args[0], strings.Join(args[1:], " "))
rules = append(rules, rule)
}

View File

@ -45,19 +45,15 @@ func TestRewriteParse(t *testing.T) {
SimpleRule{From: "/from", To: "/to"},
}},
{`rewrite /from /to
rewrite a /b`, false, []Rule{
rewrite a b`, false, []Rule{
SimpleRule{From: "/from", To: "/to"},
SimpleRule{From: "a", To: "/b"},
SimpleRule{From: "a", To: "b"},
}},
{`rewrite a b`, true, []Rule{}},
{`rewrite a`, true, []Rule{}},
{`rewrite`, true, []Rule{}},
{`rewrite a b c`, true, []Rule{
{`rewrite a b c`, false, []Rule{
SimpleRule{From: "a", To: "b c"},
}},
{`rewrite a /b c`, false, []Rule{
SimpleRule{From: "a", To: "/b c"},
}},
}
for i, test := range simpleTests {