Merge branch '2.0.x'

pull/13358/head
Andy Wilkinson 7 years ago
commit 92629ac5af

@ -77,8 +77,9 @@ public final class WebMvcTags {
/** /**
* Creates a {@code uri} tag based on the URI of the given {@code request}. Uses the * Creates a {@code uri} tag based on the URI of the given {@code request}. Uses the
* {@link HandlerMapping#BEST_MATCHING_PATTERN_ATTRIBUTE} best matching pattern if * {@link HandlerMapping#BEST_MATCHING_PATTERN_ATTRIBUTE} best matching pattern if
* available, falling back to the request's {@link HttpServletRequest#getPathInfo() * available. Falling back to {@code REDIRECTION} for 3xx responses, {@code NOT_FOUND}
* path info} if necessary. * for 404 responses, {@code root} for requests with no path info, and {@code UNKNOWN}
* for all other requests.
* @param request the request * @param request the request
* @param response the response * @param response the response
* @return the uri tag derived from the request * @return the uri tag derived from the request
@ -102,7 +103,6 @@ public final class WebMvcTags {
if (pathInfo.isEmpty()) { if (pathInfo.isEmpty()) {
return URI_ROOT; return URI_ROOT;
} }
return Tag.of("uri", pathInfo);
} }
return URI_UNKNOWN; return URI_UNKNOWN;
} }

@ -38,12 +38,6 @@ public class WebMvcTagsTests {
private final MockHttpServletResponse response = new MockHttpServletResponse(); private final MockHttpServletResponse response = new MockHttpServletResponse();
@Test
public void uriTrailingSlashesAreSuppressed() {
this.request.setPathInfo("//spring/");
assertThat(WebMvcTags.uri(this.request, null).getValue()).isEqualTo("/spring");
}
@Test @Test
public void uriTagValueIsBestMatchingPatternWhenAvailable() { public void uriTagValueIsBestMatchingPatternWhenAvailable() {
this.request.setAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE, this.request.setAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE,
@ -53,6 +47,23 @@ public class WebMvcTagsTests {
assertThat(tag.getValue()).isEqualTo("/spring"); assertThat(tag.getValue()).isEqualTo("/spring");
} }
@Test
public void uriTagValueIsRootWhenRequestHasNoPatternOrPathInfo() {
assertThat(WebMvcTags.uri(this.request, null).getValue()).isEqualTo("root");
}
@Test
public void uriTagValueIsRootWhenRequestHasNoPatternAndSlashPathInfo() {
this.request.setPathInfo("/");
assertThat(WebMvcTags.uri(this.request, null).getValue()).isEqualTo("root");
}
@Test
public void uriTagValueIsUnknownWhenRequestHasNoPatternAndNonRootPathInfo() {
this.request.setPathInfo("/example");
assertThat(WebMvcTags.uri(this.request, null).getValue()).isEqualTo("UNKNOWN");
}
@Test @Test
public void uriTagValueIsRedirectionWhenResponseStatusIs3xx() { public void uriTagValueIsRedirectionWhenResponseStatusIs3xx() {
this.response.setStatus(301); this.response.setStatus(301);

Loading…
Cancel
Save