|
|
@ -157,6 +157,14 @@ public final class EndpointRequest {
|
|
|
|
protected abstract RequestMatcher createDelegate(WebApplicationContext context,
|
|
|
|
protected abstract RequestMatcher createDelegate(WebApplicationContext context,
|
|
|
|
RequestMatcherFactory requestMatcherFactory);
|
|
|
|
RequestMatcherFactory requestMatcherFactory);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected List<RequestMatcher> getLinksMatchers(
|
|
|
|
|
|
|
|
RequestMatcherFactory requestMatcherFactory, String basePath) {
|
|
|
|
|
|
|
|
List<RequestMatcher> linksMatchers = new ArrayList<>();
|
|
|
|
|
|
|
|
linksMatchers.add(requestMatcherFactory.antPath(basePath));
|
|
|
|
|
|
|
|
linksMatchers.add(requestMatcherFactory.antPath(basePath, "/"));
|
|
|
|
|
|
|
|
return linksMatchers;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
@ -220,10 +228,10 @@ public final class EndpointRequest {
|
|
|
|
streamPaths(this.excludes, pathMappedEndpoints).forEach(paths::remove);
|
|
|
|
streamPaths(this.excludes, pathMappedEndpoints).forEach(paths::remove);
|
|
|
|
List<RequestMatcher> delegateMatchers = getDelegateMatchers(
|
|
|
|
List<RequestMatcher> delegateMatchers = getDelegateMatchers(
|
|
|
|
requestMatcherFactory, paths);
|
|
|
|
requestMatcherFactory, paths);
|
|
|
|
if (this.includeLinks
|
|
|
|
String basePath = pathMappedEndpoints.getBasePath();
|
|
|
|
&& StringUtils.hasText(pathMappedEndpoints.getBasePath())) {
|
|
|
|
if (this.includeLinks && StringUtils.hasText(basePath)) {
|
|
|
|
delegateMatchers.add(
|
|
|
|
delegateMatchers
|
|
|
|
requestMatcherFactory.antPath(pathMappedEndpoints.getBasePath()));
|
|
|
|
.addAll(getLinksMatchers(requestMatcherFactory, basePath));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return new OrRequestMatcher(delegateMatchers);
|
|
|
|
return new OrRequestMatcher(delegateMatchers);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -271,8 +279,10 @@ public final class EndpointRequest {
|
|
|
|
RequestMatcherFactory requestMatcherFactory) {
|
|
|
|
RequestMatcherFactory requestMatcherFactory) {
|
|
|
|
WebEndpointProperties properties = context
|
|
|
|
WebEndpointProperties properties = context
|
|
|
|
.getBean(WebEndpointProperties.class);
|
|
|
|
.getBean(WebEndpointProperties.class);
|
|
|
|
if (StringUtils.hasText(properties.getBasePath())) {
|
|
|
|
String basePath = properties.getBasePath();
|
|
|
|
return requestMatcherFactory.antPath(properties.getBasePath());
|
|
|
|
if (StringUtils.hasText(basePath)) {
|
|
|
|
|
|
|
|
return new OrRequestMatcher(
|
|
|
|
|
|
|
|
getLinksMatchers(requestMatcherFactory, basePath));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return EMPTY_MATCHER;
|
|
|
|
return EMPTY_MATCHER;
|
|
|
|
}
|
|
|
|
}
|
|
|
|