ServerRequest.path() should return raw path

After this commit, ServerRequest.path() returns the raw, unencoded path,
as that is expected by the PathPatternParser.
This commit is contained in:
Arjen Poutsma 2017-06-13 15:09:22 +02:00
parent 97909f2258
commit 7018804e84
2 changed files with 12 additions and 1 deletions

View File

@ -67,7 +67,7 @@ public interface ServerRequest {
* Return the request path.
*/
default String path() {
return uri().getPath();
return uri().getRawPath();
}
/**

View File

@ -95,6 +95,17 @@ public class RequestPredicatesTests {
assertFalse(predicate.test(request));
}
@Test
public void pathEncoded() throws Exception {
URI uri = URI.create("http://localhost/foo%20bar");
RequestPredicate predicate = RequestPredicates.path("/foo bar");
MockServerRequest request = MockServerRequest.builder().uri(uri).build();
assertTrue(predicate.test(request));
request = MockServerRequest.builder().build();
assertFalse(predicate.test(request));
}
@Test
public void pathPredicates() throws Exception {
PathPatternParser parser = new PathPatternParser();