|
@ -40,6 +40,9 @@ func init() { |
|
|
// split <at>
|
|
|
// split <at>
|
|
|
// env <key> <value>
|
|
|
// env <key> <value>
|
|
|
// resolve_root_symlink
|
|
|
// resolve_root_symlink
|
|
|
|
|
|
// dial_timeout <duration>
|
|
|
|
|
|
// read_timeout <duration>
|
|
|
|
|
|
// write_timeout <duration>
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
//
|
|
|
func (t *Transport) UnmarshalCaddyfile(d *caddyfile.Dispenser) error { |
|
|
func (t *Transport) UnmarshalCaddyfile(d *caddyfile.Dispenser) error { |
|
@ -69,8 +72,41 @@ func (t *Transport) UnmarshalCaddyfile(d *caddyfile.Dispenser) error { |
|
|
t.EnvVars[args[0]] = args[1] |
|
|
t.EnvVars[args[0]] = args[1] |
|
|
|
|
|
|
|
|
case "resolve_root_symlink": |
|
|
case "resolve_root_symlink": |
|
|
|
|
|
if d.NextArg() { |
|
|
|
|
|
return d.ArgErr() |
|
|
|
|
|
} |
|
|
t.ResolveRootSymlink = true |
|
|
t.ResolveRootSymlink = true |
|
|
|
|
|
|
|
|
|
|
|
case "dial_timeout": |
|
|
|
|
|
if !d.NextArg() { |
|
|
|
|
|
return d.ArgErr() |
|
|
|
|
|
} |
|
|
|
|
|
dur, err := caddy.ParseDuration(d.Val()) |
|
|
|
|
|
if err != nil { |
|
|
|
|
|
return d.Errf("bad timeout value %s: %v", d.Val(), err) |
|
|
|
|
|
} |
|
|
|
|
|
t.DialTimeout = caddy.Duration(dur) |
|
|
|
|
|
|
|
|
|
|
|
case "read_timeout": |
|
|
|
|
|
if !d.NextArg() { |
|
|
|
|
|
return d.ArgErr() |
|
|
|
|
|
} |
|
|
|
|
|
dur, err := caddy.ParseDuration(d.Val()) |
|
|
|
|
|
if err != nil { |
|
|
|
|
|
return d.Errf("bad timeout value %s: %v", d.Val(), err) |
|
|
|
|
|
} |
|
|
|
|
|
t.ReadTimeout = caddy.Duration(dur) |
|
|
|
|
|
|
|
|
|
|
|
case "write_timeout": |
|
|
|
|
|
if !d.NextArg() { |
|
|
|
|
|
return d.ArgErr() |
|
|
|
|
|
} |
|
|
|
|
|
dur, err := caddy.ParseDuration(d.Val()) |
|
|
|
|
|
if err != nil { |
|
|
|
|
|
return d.Errf("bad timeout value %s: %v", d.Val(), err) |
|
|
|
|
|
} |
|
|
|
|
|
t.WriteTimeout = caddy.Duration(dur) |
|
|
|
|
|
|
|
|
default: |
|
|
default: |
|
|
return d.Errf("unrecognized subdirective %s", d.Val()) |
|
|
return d.Errf("unrecognized subdirective %s", d.Val()) |
|
|
} |
|
|
} |
|
@ -208,6 +244,42 @@ func parsePHPFastCGI(h httpcaddyfile.Helper) ([]httpcaddyfile.ConfigValue, error |
|
|
dispenser.Delete() |
|
|
dispenser.Delete() |
|
|
} |
|
|
} |
|
|
fcgiTransport.ResolveRootSymlink = true |
|
|
fcgiTransport.ResolveRootSymlink = true |
|
|
|
|
|
|
|
|
|
|
|
case "dial_timeout": |
|
|
|
|
|
if !dispenser.NextArg() { |
|
|
|
|
|
return nil, dispenser.ArgErr() |
|
|
|
|
|
} |
|
|
|
|
|
dur, err := caddy.ParseDuration(dispenser.Val()) |
|
|
|
|
|
if err != nil { |
|
|
|
|
|
return nil, dispenser.Errf("bad timeout value %s: %v", dispenser.Val(), err) |
|
|
|
|
|
} |
|
|
|
|
|
fcgiTransport.DialTimeout = caddy.Duration(dur) |
|
|
|
|
|
dispenser.Delete() |
|
|
|
|
|
dispenser.Delete() |
|
|
|
|
|
|
|
|
|
|
|
case "read_timeout": |
|
|
|
|
|
if !dispenser.NextArg() { |
|
|
|
|
|
return nil, dispenser.ArgErr() |
|
|
|
|
|
} |
|
|
|
|
|
dur, err := caddy.ParseDuration(dispenser.Val()) |
|
|
|
|
|
if err != nil { |
|
|
|
|
|
return nil, dispenser.Errf("bad timeout value %s: %v", dispenser.Val(), err) |
|
|
|
|
|
} |
|
|
|
|
|
fcgiTransport.ReadTimeout = caddy.Duration(dur) |
|
|
|
|
|
dispenser.Delete() |
|
|
|
|
|
dispenser.Delete() |
|
|
|
|
|
|
|
|
|
|
|
case "write_timeout": |
|
|
|
|
|
if !dispenser.NextArg() { |
|
|
|
|
|
return nil, dispenser.ArgErr() |
|
|
|
|
|
} |
|
|
|
|
|
dur, err := caddy.ParseDuration(dispenser.Val()) |
|
|
|
|
|
if err != nil { |
|
|
|
|
|
return nil, dispenser.Errf("bad timeout value %s: %v", dispenser.Val(), err) |
|
|
|
|
|
} |
|
|
|
|
|
fcgiTransport.WriteTimeout = caddy.Duration(dur) |
|
|
|
|
|
dispenser.Delete() |
|
|
|
|
|
dispenser.Delete() |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|