@@ -217,6 +217,36 @@ func TestRouterPathPrefix(t *testing.T) {
217
217
expectedStatusCode : http .StatusOK ,
218
218
expectedBody : "default_handler" ,
219
219
},
220
+ {
221
+ name : "invalid token request with \\ oauth2" ,
222
+ url : `/metadata/identity\oauth2/token/` ,
223
+ expectedStatusCode : http .StatusOK ,
224
+ expectedBody : "invalid_request_handler" ,
225
+ },
226
+ {
227
+ name : "invalid token request with \\ token" ,
228
+ url : `/metadata/identity/oauth2\token/` ,
229
+ expectedStatusCode : http .StatusOK ,
230
+ expectedBody : "invalid_request_handler" ,
231
+ },
232
+ {
233
+ name : "invalid token request with \\ oauth2\\ token" ,
234
+ url : `/metadata/identity\oauth2\token/` ,
235
+ expectedStatusCode : http .StatusOK ,
236
+ expectedBody : "invalid_request_handler" ,
237
+ },
238
+ {
239
+ name : "invalid token request with mix of / and \\ " ,
240
+ url : `/metadata/identity/\oauth2\token/` ,
241
+ expectedStatusCode : http .StatusOK ,
242
+ expectedBody : "invalid_request_handler" ,
243
+ },
244
+ {
245
+ name : "invalid token request with multiple \\ " ,
246
+ url : `/metadata/identity\\\oauth2\\token/` ,
247
+ expectedStatusCode : http .StatusOK ,
248
+ expectedBody : "invalid_request_handler" ,
249
+ },
220
250
}
221
251
222
252
for _ , test := range tests {
@@ -225,6 +255,7 @@ func TestRouterPathPrefix(t *testing.T) {
225
255
defer teardown ()
226
256
227
257
rtr .PathPrefix (tokenPathPrefix ).HandlerFunc (testTokenHandler )
258
+ rtr .MatcherFunc (invalidTokenPathMatcher ).HandlerFunc (testInvalidRequestHandler )
228
259
rtr .PathPrefix (hostTokenPathPrefix ).HandlerFunc (testHostTokenHandler )
229
260
rtr .PathPrefix (instancePathPrefix ).HandlerFunc (testInstanceHandler )
230
261
rtr .PathPrefix ("/" ).HandlerFunc (testDefaultHandler )
@@ -263,3 +294,7 @@ func testInstanceHandler(w http.ResponseWriter, r *http.Request) {
263
294
func testDefaultHandler (w http.ResponseWriter , r * http.Request ) {
264
295
fmt .Fprintf (w , "default_handler\n " )
265
296
}
297
+
298
+ func testInvalidRequestHandler (w http.ResponseWriter , r * http.Request ) {
299
+ fmt .Fprintf (w , "invalid_request_handler\n " )
300
+ }
0 commit comments