|
|
|
@ -166,6 +166,21 @@ public class HttpSessionRequestCacheTests { |
|
|
|
verify(request, never()).getParameterMap(); |
|
|
|
verify(request, never()).getParameterMap(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// gh-16656
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
public void getMatchingRequestWhenMatchingRequestPathContainsPercentSignThenLookedUp() { |
|
|
|
|
|
|
|
MockHttpServletRequest request = new MockHttpServletRequest(); |
|
|
|
|
|
|
|
request.setServletPath("/30 % off"); |
|
|
|
|
|
|
|
HttpSessionRequestCache cache = new HttpSessionRequestCache(); |
|
|
|
|
|
|
|
cache.saveRequest(request, new MockHttpServletResponse()); |
|
|
|
|
|
|
|
MockHttpServletRequest requestToMatch = new MockHttpServletRequest(); |
|
|
|
|
|
|
|
requestToMatch.setServletPath("/30 % off"); |
|
|
|
|
|
|
|
requestToMatch.setQueryString("continue"); |
|
|
|
|
|
|
|
requestToMatch.setSession(request.getSession()); |
|
|
|
|
|
|
|
HttpServletRequest matchingRequest = cache.getMatchingRequest(requestToMatch, new MockHttpServletResponse()); |
|
|
|
|
|
|
|
assertThat(matchingRequest).isNotNull(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private static final class CustomSavedRequest implements SavedRequest { |
|
|
|
private static final class CustomSavedRequest implements SavedRequest { |
|
|
|
|
|
|
|
|
|
|
|
private final SavedRequest delegate; |
|
|
|
private final SavedRequest delegate; |
|
|
|
|