Merge branch '2.0.x'

This commit is contained in:
Madhura Bhave 2018-05-04 18:12:25 -07:00
commit cdb5d76c7d
2 changed files with 20 additions and 6 deletions

View File

@ -198,7 +198,7 @@ public final class EndpointRequest {
if (this.includeLinks
&& StringUtils.hasText(pathMappedEndpoints.getBasePath())) {
delegateMatchers.add(new AntPathRequestMatcher(
servletPath + pathMappedEndpoints.getBasePath()));
computePath(servletPath, pathMappedEndpoints.getBasePath())));
}
return new OrRequestMatcher(delegateMatchers);
}
@ -229,10 +229,17 @@ public final class EndpointRequest {
private List<RequestMatcher> getDelegateMatchers(String servletPath,
Set<String> paths) {
return paths.stream()
.map((path) -> new AntPathRequestMatcher(servletPath + path + "/**"))
.map((path) -> new AntPathRequestMatcher(computePath(servletPath, path) + "/**"))
.collect(Collectors.toList());
}
private String computePath(String servletPath, String path) {
if (servletPath.equals("/")) {
return path;
}
return servletPath + path;
}
@Override
protected boolean matches(HttpServletRequest request,
Supplier<WebApplicationContext> context) {
@ -272,11 +279,18 @@ public final class EndpointRequest {
private RequestMatcher createDelegate(String path,
WebEndpointProperties properties) {
if (StringUtils.hasText(properties.getBasePath())) {
return new AntPathRequestMatcher(path + properties.getBasePath());
return new AntPathRequestMatcher(computePath(path, properties.getBasePath()));
}
return EMPTY_MATCHER;
}
private String computePath(String servletPath, String path) {
if (servletPath.equals("/")) {
return path;
}
return servletPath + path;
}
@Override
protected boolean matches(HttpServletRequest request,
Supplier<WebApplicationContext> context) {

View File

@ -52,9 +52,9 @@ public class EndpointRequestTests {
@Test
public void toAnyEndpointShouldMatchEndpointPath() {
RequestMatcher matcher = EndpointRequest.toAnyEndpoint();
assertMatcher(matcher).matches("/actuator/foo");
assertMatcher(matcher).matches("/actuator/bar");
assertMatcher(matcher).matches("/actuator");
assertMatcher(matcher, "/actuator", "/").matches("/actuator/foo");
assertMatcher(matcher, "/actuator", "/").matches("/actuator/bar");
assertMatcher(matcher, "/actuator", "/").matches("/actuator");
}
@Test