diff options
author | Matt Holt <mholt@users.noreply.github.com> | 2022-07-23 22:38:41 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-23 22:38:41 -0600 |
commit | a379fa4c6c5d58aa6b812bb21a879ce0944c1ccb (patch) | |
tree | f48ba10c161100f41e49c0441ab4cebbcb191d0a /modules/caddyhttp/reverseproxy/caddyfile.go | |
parent | abad9bc256eea7353b9959d066f5b7ea64990a22 (diff) |
reverseproxy: Implement read & write timeouts for HTTP transport (#4905)
Diffstat (limited to 'modules/caddyhttp/reverseproxy/caddyfile.go')
-rw-r--r-- | modules/caddyhttp/reverseproxy/caddyfile.go | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/modules/caddyhttp/reverseproxy/caddyfile.go b/modules/caddyhttp/reverseproxy/caddyfile.go index a5321d1..a2c85f9 100644 --- a/modules/caddyhttp/reverseproxy/caddyfile.go +++ b/modules/caddyhttp/reverseproxy/caddyfile.go @@ -875,6 +875,26 @@ func (h *HTTPTransport) UnmarshalCaddyfile(d *caddyfile.Dispenser) error { } h.WriteBufferSize = int(size) + case "read_timeout": + if !d.NextArg() { + return d.ArgErr() + } + timeout, err := caddy.ParseDuration(d.Val()) + if err != nil { + return d.Errf("invalid read timeout duration '%s': %v", d.Val(), err) + } + h.ReadTimeout = caddy.Duration(timeout) + + case "write_timeout": + if !d.NextArg() { + return d.ArgErr() + } + timeout, err := caddy.ParseDuration(d.Val()) + if err != nil { + return d.Errf("invalid write timeout duration '%s': %v", d.Val(), err) + } + h.WriteTimeout = caddy.Duration(timeout) + case "max_response_header": if !d.NextArg() { return d.ArgErr() |