From 168723a026cdad53e2d5d8434003fa3e57f04e9a Mon Sep 17 00:00:00 2001 From: Abiola Ibrahim Date: Thu, 24 Dec 2015 09:00:10 +0100 Subject: [PATCH] Added escaped versions of uri, query and path. --- middleware/replacer.go | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/middleware/replacer.go b/middleware/replacer.go index 29c695b77..3fb389a13 100644 --- a/middleware/replacer.go +++ b/middleware/replacer.go @@ -3,6 +3,7 @@ package middleware import ( "net" "net/http" + "net/url" "path" "strconv" "strings" @@ -38,11 +39,13 @@ func NewReplacer(r *http.Request, rr *responseRecorder, emptyValue string) Repla } return "http" }(), - "{host}": r.Host, - "{path}": r.URL.Path, - "{query}": r.URL.RawQuery, - "{fragment}": r.URL.Fragment, - "{proto}": r.Proto, + "{host}": r.Host, + "{path}": r.URL.Path, + "{path_escaped}": url.QueryEscape(r.URL.Path), + "{query}": r.URL.RawQuery, + "{query_escaped}": url.QueryEscape(r.URL.RawQuery), + "{fragment}": r.URL.Fragment, + "{proto}": r.Proto, "{remote}": func() string { if fwdFor := r.Header.Get("X-Forwarded-For"); fwdFor != "" { return fwdFor @@ -60,7 +63,8 @@ func NewReplacer(r *http.Request, rr *responseRecorder, emptyValue string) Repla } return port }(), - "{uri}": r.URL.RequestURI(), + "{uri}": r.URL.RequestURI(), + "{uri_escaped}": url.QueryEscape(r.URL.RequestURI()), "{when}": func() string { return time.Now().Format(timeFormat) }(),