Commit 72fcdec8 authored by Matt Holt's avatar Matt Holt

Merge pull request #627 from ax-nathan/master

rewrite: Allow status to be 2xx or 4xx.
parents 197297b0 f4bb4378
...@@ -80,8 +80,8 @@ func rewriteParse(c *Controller) ([]rewrite.Rule, error) { ...@@ -80,8 +80,8 @@ func rewriteParse(c *Controller) ([]rewrite.Rule, error) {
return nil, c.ArgErr() return nil, c.ArgErr()
} }
status, _ = strconv.Atoi(c.Val()) status, _ = strconv.Atoi(c.Val())
if status < 400 || status > 499 { if status < 200 || (status > 299 && status < 400) || status > 499 {
return nil, c.Err("status must be 4xx") return nil, c.Err("status must be 2xx or 4xx")
} }
default: default:
return nil, c.ArgErr() return nil, c.ArgErr()
......
...@@ -137,22 +137,43 @@ func TestRewriteParse(t *testing.T) { ...@@ -137,22 +137,43 @@ func TestRewriteParse(t *testing.T) {
}`, false, []rewrite.Rule{ }`, false, []rewrite.Rule{
&rewrite.ComplexRule{Base: "/", To: "/to", Ifs: []rewrite.If{{A: "{path}", Operator: "is", B: "a"}}}, &rewrite.ComplexRule{Base: "/", To: "/to", Ifs: []rewrite.If{{A: "{path}", Operator: "is", B: "a"}}},
}}, }},
{`rewrite {
status 500
}`, true, []rewrite.Rule{
&rewrite.ComplexRule{},
}},
{`rewrite { {`rewrite {
status 400 status 400
}`, false, []rewrite.Rule{ }`, false, []rewrite.Rule{
&rewrite.ComplexRule{Base: "/", Regexp: regexp.MustCompile(".*"), Status: 400}, &rewrite.ComplexRule{Base: "/", Status: 400},
}}, }},
{`rewrite { {`rewrite {
to /to to /to
status 400 status 400
}`, false, []rewrite.Rule{ }`, false, []rewrite.Rule{
&rewrite.ComplexRule{Base: "/", To: "/to", Regexp: regexp.MustCompile(".*"), Status: 400}, &rewrite.ComplexRule{Base: "/", To: "/to", Status: 400},
}}, }},
{`rewrite { {`rewrite {
status 399 status 399
}`, true, []rewrite.Rule{ }`, true, []rewrite.Rule{
&rewrite.ComplexRule{}, &rewrite.ComplexRule{},
}}, }},
{`rewrite {
status 200
}`, false, []rewrite.Rule{
&rewrite.ComplexRule{Base: "/", Status: 200},
}},
{`rewrite {
to /to
status 200
}`, false, []rewrite.Rule{
&rewrite.ComplexRule{Base: "/", To: "/to", Status: 200},
}},
{`rewrite {
status 199
}`, true, []rewrite.Rule{
&rewrite.ComplexRule{},
}},
{`rewrite { {`rewrite {
status 0 status 0
}`, true, []rewrite.Rule{ }`, true, []rewrite.Rule{
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment