From 9fbac10a4ba5e170c425646c096954052b05a0ff Mon Sep 17 00:00:00 2001 From: Matthew Holt Date: Tue, 2 May 2017 09:30:18 -0600 Subject: [PATCH] Revert "rewrite: Raise error if rewrite path does not begin with / #1610 (#1629)" This reverts commit e0ed7093970cf08f63cf04f663c6841a7fdc4499. --- caddyhttp/rewrite/setup.go | 14 ++------------ caddyhttp/rewrite/setup_test.go | 10 +++------- 2 files changed, 5 insertions(+), 19 deletions(-) diff --git a/caddyhttp/rewrite/setup.go b/caddyhttp/rewrite/setup.go index 4e9bfe70d..71c498e1d 100644 --- a/caddyhttp/rewrite/setup.go +++ b/caddyhttp/rewrite/setup.go @@ -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) } diff --git a/caddyhttp/rewrite/setup_test.go b/caddyhttp/rewrite/setup_test.go index b5d9455a1..fd355102c 100644 --- a/caddyhttp/rewrite/setup_test.go +++ b/caddyhttp/rewrite/setup_test.go @@ -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 {