@@ -185,6 +185,18 @@ func TestRouteRedirectTrailingSlash(t *testing.T) {
185
185
w = PerformRequest (router , http .MethodGet , "/path2/" , header {Key : "X-Forwarded-Prefix" , Value : "/api/" })
186
186
assert .Equal (t , 200 , w .Code )
187
187
188
+ w = PerformRequest (router , http .MethodGet , "/path/" , header {Key : "X-Forwarded-Prefix" , Value : "../../bug#?" })
189
+ assert .Equal (t , "../../../bug%2523%253F/path" , w .Header ().Get ("Location" ))
190
+ assert .Equal (t , 301 , w .Code )
191
+
192
+ w = PerformRequest (router , http .MethodGet , "/path/" , header {Key : "X-Forwarded-Prefix" , Value : "https://gin-gonic.com/#" })
193
+ assert .Equal (t , "https%3A/gin-gonic.com/%23/https%253A/gin-gonic.com/%2523/path" , w .Header ().Get ("Location" ))
194
+ assert .Equal (t , 301 , w .Code )
195
+
196
+ w = PerformRequest (router , http .MethodGet , "/path/" , header {Key : "X-Forwarded-Prefix" , Value : "#bug" })
197
+ assert .Equal (t , "%23bug/%2523bug/path" , w .Header ().Get ("Location" ))
198
+ assert .Equal (t , 301 , w .Code )
199
+
188
200
router .RedirectTrailingSlash = false
189
201
190
202
w = PerformRequest (router , http .MethodGet , "/path/" )
0 commit comments