diff options
author | Francis Lavoie <[email protected]> | 2022-05-06 10:50:26 -0400 |
---|---|---|
committer | GitHub <[email protected]> | 2022-05-06 10:50:26 -0400 |
commit | f6900fcf530e80c921dac8e4f09996cffce7f436 (patch) | |
tree | 6914d9a1038ff230f9047cae8d219838b6636d81 /modules/caddyhttp/reverseproxy/caddyfile.go | |
parent | ec86a2f7a3905c888b8c953255a98a50be70d5db (diff) | |
download | caddy-f6900fcf530e80c921dac8e4f09996cffce7f436.tar.gz caddy-f6900fcf530e80c921dac8e4f09996cffce7f436.zip |
reverseproxy: Support performing pre-check requests (#4739)
Diffstat (limited to 'modules/caddyhttp/reverseproxy/caddyfile.go')
-rw-r--r-- | modules/caddyhttp/reverseproxy/caddyfile.go | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/modules/caddyhttp/reverseproxy/caddyfile.go b/modules/caddyhttp/reverseproxy/caddyfile.go index 14de23002..ebea49eb5 100644 --- a/modules/caddyhttp/reverseproxy/caddyfile.go +++ b/modules/caddyhttp/reverseproxy/caddyfile.go @@ -27,6 +27,7 @@ import ( "github.com/caddyserver/caddy/v2/caddyconfig/httpcaddyfile" "github.com/caddyserver/caddy/v2/modules/caddyhttp" "github.com/caddyserver/caddy/v2/modules/caddyhttp/headers" + "github.com/caddyserver/caddy/v2/modules/caddyhttp/rewrite" "github.com/dustin/go-humanize" ) @@ -85,10 +86,12 @@ func parseCaddyfile(h httpcaddyfile.Helper) (caddyhttp.MiddlewareHandler, error) // buffer_responses // max_buffer_size <size> // -// # header manipulation +// # request manipulation // trusted_proxies [private_ranges] <ranges...> // header_up [+|-]<field> [<value|regexp> [<replacement>]] // header_down [+|-]<field> [<value|regexp> [<replacement>]] +// method <method> +// rewrite <to> // // # round trip // transport <name> { @@ -600,6 +603,30 @@ func (h *Handler) UnmarshalCaddyfile(d *caddyfile.Dispenser) error { return d.Err(err.Error()) } + case "method": + if !d.NextArg() { + return d.ArgErr() + } + if h.Rewrite == nil { + h.Rewrite = &rewrite.Rewrite{} + } + h.Rewrite.Method = d.Val() + if d.NextArg() { + return d.ArgErr() + } + + case "rewrite": + if !d.NextArg() { + return d.ArgErr() + } + if h.Rewrite == nil { + h.Rewrite = &rewrite.Rewrite{} + } + h.Rewrite.URI = d.Val() + if d.NextArg() { + return d.ArgErr() + } + case "transport": if !d.NextArg() { return d.ArgErr() |