summaryrefslogtreecommitdiff
path: root/modules/caddyhttp/replacer.go
diff options
context:
space:
mode:
authorPascal <pascalgn@users.noreply.github.com>2019-10-10 21:37:08 +0200
committerMatt Holt <mholt@users.noreply.github.com>2019-10-10 13:37:08 -0600
commitfe36d26b63b6398592e46604d1795f84ce0477d4 (patch)
tree14dbb7a456b93e4e7c1b58ae30694edf7c15c79a /modules/caddyhttp/replacer.go
parentb38365ff3b6ab8b2c474603fa0603831e7eff2a7 (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.go17
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