diff options
author | Pascal <pascalgn@users.noreply.github.com> | 2019-10-10 21:37:08 +0200 |
---|---|---|
committer | Matt Holt <mholt@users.noreply.github.com> | 2019-10-10 13:37:08 -0600 |
commit | fe36d26b63b6398592e46604d1795f84ce0477d4 (patch) | |
tree | 14dbb7a456b93e4e7c1b58ae30694edf7c15c79a /modules/caddyhttp/replacer.go | |
parent | b38365ff3b6ab8b2c474603fa0603831e7eff2a7 (diff) |
caddyhttp: Add RemoteAddr placeholders (#2801)
* Ignore build artifacts
* Add RemoteAddr placeholders
Diffstat (limited to 'modules/caddyhttp/replacer.go')
-rw-r--r-- | modules/caddyhttp/replacer.go | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/modules/caddyhttp/replacer.go b/modules/caddyhttp/replacer.go index e003259..d4baa3f 100644 --- a/modules/caddyhttp/replacer.go +++ b/modules/caddyhttp/replacer.go @@ -65,13 +65,24 @@ func addHTTPVarsToReplacer(repl caddy.Replacer, req *http.Request, w http.Respon return req.Host, true // OK; there probably was no port } return host, true + case "http.request.port": + _, port, _ := net.SplitHostPort(req.Host) + return port, true case "http.request.hostport": return req.Host, true + case "http.request.remote": + return req.RemoteAddr, true + case "http.request.remote.host": + host, _, err := net.SplitHostPort(req.RemoteAddr) + if err != nil { + return req.RemoteAddr, true + } + return host, true + case "http.request.remote.port": + _, port, _ := net.SplitHostPort(req.RemoteAddr) + return port, true case "http.request.method": return req.Method, true - case "http.request.port": - _, port, _ := net.SplitHostPort(req.Host) - return port, true case "http.request.scheme": if req.TLS != nil { return "https", true |