mirror of
https://github.com/caddyserver/caddy.git
synced 2024-12-23 22:27:38 -05:00
Merge pull request #627 from ax-nathan/master
rewrite: Allow status to be 2xx or 4xx.
This commit is contained in:
commit
72fcdec8d8
2 changed files with 25 additions and 4 deletions
|
@ -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) {
|
||||||
}`, 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{
|
||||||
|
|
Loading…
Reference in a new issue