Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
Mirrored from https://github.com/Slazee/caddy.git
Synced Nov 14, 05:15 UTC
caddyhttp: Return port placeholders as ints
Matthew Holt committed
Apr 8, 2020 at 10:43 UTC
e30deedcc1490e1fc73b375a0d3147e625aa7472
1 file changed
+6
modules/caddyhttp/replacer.go
+6
@@ -85,6 +85,9 @@ func addHTTPVarsToReplacer(repl *caddy.Replacer, req *http.Request, w http.Respo
85
return host, true
86
case "http.request.port":
87
_, port, _ := net.SplitHostPort(req.Host)
88
+ if portNum, err := strconv.Atoi(port); err == nil {
89
+ return portNum, true
90
+ }
91
return port, true
92
case "http.request.hostport":
93
return req.Host, true
@@ -98,6 +101,9 @@ func addHTTPVarsToReplacer(repl *caddy.Replacer, req *http.Request, w http.Respo
101
return host, true
102
case "http.request.remote.port":
103
_, port, _ := net.SplitHostPort(req.RemoteAddr)
104
+ if portNum, err := strconv.Atoi(port); err == nil {
105
+ return portNum, true
106
+ }
107
return port, true
108
109
// current URI, including any internal rewrites