Browse Source
fastcgi: Make EnvVars a map instead of a slice
master
Matthew Holt
6 years ago
No known key found for this signature in database
GPG Key ID: 2A349DD577D586A5
2 changed files with
8 additions and
5 deletions
-
modules/caddyhttp/reverseproxy/fastcgi/caddyfile.go
-
modules/caddyhttp/reverseproxy/fastcgi/fastcgi.go
|
|
@ -44,7 +44,10 @@ func (t *Transport) UnmarshalCaddyfile(d *caddyfile.Dispenser) error { |
|
|
|
if len(args) != 2 { |
|
|
|
return d.ArgErr() |
|
|
|
} |
|
|
|
t.EnvVars = append(t.EnvVars, [2]string{args[0], args[1]}) |
|
|
|
if t.EnvVars == nil { |
|
|
|
t.EnvVars = make(map[string]string) |
|
|
|
} |
|
|
|
t.EnvVars[args[0]] = args[1] |
|
|
|
|
|
|
|
default: |
|
|
|
return d.Errf("unrecognized subdirective %s", d.Val()) |
|
|
|
|
|
@ -55,8 +55,8 @@ type Transport struct { |
|
|
|
// PATH_INFO for the CGI script to use.
|
|
|
|
SplitPath string `json:"split_path,omitempty"` |
|
|
|
|
|
|
|
// Environment variables (TODO: make a map of string to value...?)
|
|
|
|
EnvVars [][2]string `json:"env,omitempty"` |
|
|
|
// Extra environment variables
|
|
|
|
EnvVars map[string]string `json:"env,omitempty"` |
|
|
|
|
|
|
|
// The duration used to set a deadline when connecting to an upstream.
|
|
|
|
DialTimeout caddy.Duration `json:"dial_timeout,omitempty"` |
|
|
@ -259,8 +259,8 @@ func (t Transport) buildEnv(r *http.Request) (map[string]string, error) { |
|
|
|
} |
|
|
|
|
|
|
|
// Add env variables from config (with support for placeholders in values)
|
|
|
|
for _, envVar := range t.EnvVars { |
|
|
|
env[envVar[0]] = repl.ReplaceAll(envVar[1], "") |
|
|
|
for key, value := range t.EnvVars { |
|
|
|
env[key] = repl.ReplaceAll(value, "") |
|
|
|
} |
|
|
|
|
|
|
|
// Add all HTTP headers to env variables
|
|
|
|