Browse Source

map: Accept regex substitution in outputs (#3991)

* Replace placeholders with regex groups

* using Matcher methods

* test added

* linting fix

* Revert "linting fix"

This reverts commit cafd7296f43639bbcd2601bea79a47f60763a200.

* Revert "test added"

This reverts commit 3a76cc7b0bc5dcef15ca5c8ec22efcd4067d484c.

* Revert "using Matcher methods"

This reverts commit cc34337b8ebb61d40ec343cee0fc225a694d3db6.

* tests added
master
Rajat Jain 4 years ago
committed by GitHub
parent
commit
802f80c382
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      caddytest/integration/map_test.go
  2. 1
      modules/caddyhttp/map/map.go

4
caddytest/integration/map_test.go

@ -19,7 +19,7 @@ func TestMap(t *testing.T) {
map {http.request.method} {dest-1} {dest-2} {
default unknown1 unknown2
~G.T get-called
~G(.)(.) G${1}${2}-called
POST post-called foobar
}
@ -30,7 +30,7 @@ func TestMap(t *testing.T) {
`, "caddyfile")
// act and assert
tester.AssertGetResponse("http://localhost:9080/version", 200, "hello from localhost get-called unknown2")
tester.AssertGetResponse("http://localhost:9080/version", 200, "hello from localhost GET-called unknown2")
tester.AssertPostResponseBody("http://localhost:9080/version", []string{}, bytes.NewBuffer([]byte{}), 200, "hello from localhost post-called foobar")
}

1
modules/caddyhttp/map/map.go

@ -136,6 +136,7 @@ func (h Handler) ServeHTTP(w http.ResponseWriter, r *http.Request, next caddyhtt
if output := m.Outputs[destIdx]; output == nil {
continue
} else {
output = m.re.ReplaceAllString(input, m.Outputs[destIdx].(string))
return output, true
}
}

Loading…
Cancel
Save