Revert "Added servlet context path in skip patterns"

the implementation makes completely no sense

This reverts commit 7e05f995fe.
This commit is contained in:
Marcin Grzejszczak
2018-05-06 14:11:50 +02:00
parent 7e05f995fe
commit 6e13e2247e
2 changed files with 23 additions and 93 deletions

View File

@@ -25,7 +25,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.autoconfigure.web.ServerProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.cloud.sleuth.autoconfig.TraceAutoConfiguration;
import org.springframework.context.annotation.Bean;
@@ -57,15 +56,13 @@ public class TraceWebAutoConfiguration {
@ConditionalOnBean(ManagementServerProperties.class)
public SkipPatternProvider skipPatternForManagementServerProperties(
final ManagementServerProperties managementServerProperties,
final SleuthWebProperties sleuthWebProperties,
ServerProperties serverProperties) {
final SleuthWebProperties sleuthWebProperties) {
return new SkipPatternProvider() {
@Override
public Pattern skipPattern() {
return getPatternForManagementServerProperties(
managementServerProperties,
sleuthWebProperties,
serverProperties);
sleuthWebProperties);
}
};
}
@@ -76,31 +73,24 @@ public class TraceWebAutoConfiguration {
*/
static Pattern getPatternForManagementServerProperties(
ManagementServerProperties managementServerProperties,
SleuthWebProperties sleuthWebProperties, ServerProperties serverProperties) {
SleuthWebProperties sleuthWebProperties) {
String skipPattern = sleuthWebProperties.getSkipPattern();
String additionalSkipPattern = sleuthWebProperties.getAdditionalSkipPattern();
String contextPath = managementServerProperties.getServlet().getContextPath();
String servletContextPath = serverProperties.getServlet().getContextPath();
if (StringUtils.hasText(skipPattern) && StringUtils.hasText(contextPath)) {
String contextPathPattern = skipPattern + "|" + contextPath + ".*";
contextPathPattern = StringUtils.hasText(servletContextPath) ?
servletContextPath + ".*|" + contextPathPattern : contextPathPattern;
return Pattern.compile(combinedPattern(contextPathPattern, additionalSkipPattern));
return Pattern.compile(combinedPattern(skipPattern + "|" + contextPath + ".*", additionalSkipPattern));
}
else if (StringUtils.hasText(contextPath)) {
String contextPathPattern = contextPath + ".*";
contextPathPattern = StringUtils.hasText(servletContextPath) ?
servletContextPath + ".*|" + contextPathPattern : contextPathPattern;
return Pattern.compile(combinedPattern(contextPathPattern, additionalSkipPattern));
return Pattern.compile(combinedPattern(contextPath + ".*", additionalSkipPattern));
}
return defaultSkipPattern(serverProperties, skipPattern, additionalSkipPattern);
return defaultSkipPattern(skipPattern, additionalSkipPattern);
}
@Bean
@ConditionalOnMissingBean(ManagementServerProperties.class)
public SkipPatternProvider defaultSkipPatternBeanIfManagementServerPropsArePresent(SleuthWebProperties sleuthWebProperties,
ServerProperties serverProperties) {
return defaultSkipPatternProvider(serverProperties, sleuthWebProperties.getSkipPattern(),
public SkipPatternProvider defaultSkipPatternBeanIfManagementServerPropsArePresent(SleuthWebProperties sleuthWebProperties) {
return defaultSkipPatternProvider(sleuthWebProperties.getSkipPattern(),
sleuthWebProperties.getAdditionalSkipPattern());
}
}
@@ -109,24 +99,18 @@ public class TraceWebAutoConfiguration {
@ConditionalOnMissingClass("org.springframework.boot.actuate.autoconfigure.ManagementServerProperties")
@ConditionalOnMissingBean(
SkipPatternProvider.class)
public SkipPatternProvider defaultSkipPatternBean(SleuthWebProperties sleuthWebProperties,
ServerProperties serverProperties) {
return defaultSkipPatternProvider(serverProperties, sleuthWebProperties.getSkipPattern(),
public SkipPatternProvider defaultSkipPatternBean(SleuthWebProperties sleuthWebProperties) {
return defaultSkipPatternProvider(sleuthWebProperties.getSkipPattern(),
sleuthWebProperties.getAdditionalSkipPattern());
}
private static SkipPatternProvider defaultSkipPatternProvider(ServerProperties serverProperties,
private static SkipPatternProvider defaultSkipPatternProvider(
final String skipPattern, final String additionalSkipPattern) {
return () -> defaultSkipPattern(serverProperties, skipPattern, additionalSkipPattern);
return () -> defaultSkipPattern(skipPattern, additionalSkipPattern);
}
private static Pattern defaultSkipPattern(ServerProperties serverProperties,
String skipPattern, String additionalSkipPattern) {
String combinedPattern = combinedPattern(skipPattern, additionalSkipPattern);
if (StringUtils.hasText(serverProperties.getServlet().getContextPath())) {
combinedPattern = serverProperties.getServlet().getContextPath() + ".*" + "|" + combinedPattern;
}
return Pattern.compile(combinedPattern);
private static Pattern defaultSkipPattern(String skipPattern, String additionalSkipPattern) {
return Pattern.compile(combinedPattern(skipPattern, additionalSkipPattern));
}
private static String combinedPattern(String skipPattern, String additionalSkipPattern) {

View File

@@ -20,7 +20,6 @@ import java.util.regex.Pattern;
import org.junit.Test;
import org.springframework.boot.actuate.autoconfigure.web.server.ManagementServerProperties;
import org.springframework.boot.autoconfigure.web.ServerProperties;
import static org.assertj.core.api.BDDAssertions.then;
@@ -34,79 +33,39 @@ public class SkipPatternProviderConfigTest {
SleuthWebProperties sleuthWebProperties = new SleuthWebProperties();
sleuthWebProperties.setSkipPattern("foo.*|bar.*");
Pattern pattern = TraceWebAutoConfiguration.SkipPatternProviderConfig.getPatternForManagementServerProperties(
managementServerPropertiesWithContextPath(), sleuthWebProperties, new ServerProperties());
managementServerPropertiesWithContextPath(), sleuthWebProperties);
then(pattern.pattern()).isEqualTo("foo.*|bar.*|/management/context.*");
}
@Test
public void should_combine_skip_pattern_management_context_and_servlet_context() throws Exception {
SleuthWebProperties sleuthWebProperties = new SleuthWebProperties();
sleuthWebProperties.setSkipPattern("foo.*|bar.*");
ServerProperties serverProperties = new ServerProperties();
serverProperties.getServlet().setContextPath("baz");
Pattern pattern = TraceWebAutoConfiguration.SkipPatternProviderConfig.getPatternForManagementServerProperties(
managementServerPropertiesWithContextPath(), sleuthWebProperties, serverProperties);
then(pattern.pattern()).isEqualTo("baz.*|foo.*|bar.*|/management/context.*");
}
@Test
public void should_combine_skip_pattern_management_context_and_additional_pattern_when_all_are_not_empty() throws Exception {
SleuthWebProperties sleuthWebProperties = new SleuthWebProperties();
sleuthWebProperties.setSkipPattern("foo.*|bar.*");
sleuthWebProperties.setAdditionalSkipPattern("baz.*|faz.*");
Pattern pattern = TraceWebAutoConfiguration.SkipPatternProviderConfig.getPatternForManagementServerProperties(
managementServerPropertiesWithContextPath(), sleuthWebProperties, new ServerProperties());
managementServerPropertiesWithContextPath(), sleuthWebProperties);
then(pattern.pattern()).isEqualTo("foo.*|bar.*|/management/context.*|baz.*|faz.*");
}
@Test
public void should_combine_skip_pattern_management_context_servlet_context_and_additional_pattern_when_all_are_not_empty() throws Exception {
SleuthWebProperties sleuthWebProperties = new SleuthWebProperties();
sleuthWebProperties.setSkipPattern("foo.*|bar.*");
sleuthWebProperties.setAdditionalSkipPattern("baz.*|faz.*");
ServerProperties serverProperties = new ServerProperties();
serverProperties.getServlet().setContextPath("bazzz");
Pattern pattern = TraceWebAutoConfiguration.SkipPatternProviderConfig.getPatternForManagementServerProperties(
managementServerPropertiesWithContextPath(), sleuthWebProperties, serverProperties);
then(pattern.pattern()).isEqualTo("bazzz.*|foo.*|bar.*|/management/context.*|baz.*|faz.*");
}
@Test
public void should_pick_skip_pattern_when_its_not_empty_and_management_context_is_empty() throws Exception {
SleuthWebProperties sleuthWebProperties = new SleuthWebProperties();
sleuthWebProperties.setSkipPattern("foo.*|bar.*");
Pattern pattern = TraceWebAutoConfiguration.SkipPatternProviderConfig.getPatternForManagementServerProperties(new ManagementServerProperties(),
sleuthWebProperties, new ServerProperties());
Pattern pattern = TraceWebAutoConfiguration.SkipPatternProviderConfig.getPatternForManagementServerProperties(new ManagementServerProperties(), sleuthWebProperties);
then(pattern.pattern()).isEqualTo("foo.*|bar.*");
}
@Test
public void should_pick_skip_pattern_with_servlet_context_path_when_its_not_empty_and_management_context_is_empty() throws Exception {
SleuthWebProperties sleuthWebProperties = new SleuthWebProperties();
sleuthWebProperties.setSkipPattern("foo.*|bar.*");
ServerProperties serverProperties = new ServerProperties();
serverProperties.getServlet().setContextPath("bla");
Pattern pattern = TraceWebAutoConfiguration.SkipPatternProviderConfig.getPatternForManagementServerProperties(new ManagementServerProperties(),
sleuthWebProperties, serverProperties);
then(pattern.pattern()).isEqualTo("bla.*|foo.*|bar.*");
}
@Test
public void should_pick_skip_pattern_and_additional_pattern_when_its_not_empty_and_management_context_is_empty() throws Exception {
SleuthWebProperties sleuthWebProperties = new SleuthWebProperties();
sleuthWebProperties.setSkipPattern("foo.*|bar.*");
sleuthWebProperties.setAdditionalSkipPattern("baz.*|faz.*");
Pattern pattern = TraceWebAutoConfiguration.SkipPatternProviderConfig.getPatternForManagementServerProperties(new ManagementServerProperties(),
sleuthWebProperties, new ServerProperties());
Pattern pattern = TraceWebAutoConfiguration.SkipPatternProviderConfig.getPatternForManagementServerProperties(new ManagementServerProperties(), sleuthWebProperties);
then(pattern.pattern()).isEqualTo("foo.*|bar.*|baz.*|faz.*");
}
@@ -117,24 +76,11 @@ public class SkipPatternProviderConfigTest {
sleuthWebProperties.setSkipPattern("");
Pattern pattern = TraceWebAutoConfiguration.SkipPatternProviderConfig.getPatternForManagementServerProperties(
managementServerPropertiesWithContextPath(), sleuthWebProperties, new ServerProperties());
managementServerPropertiesWithContextPath(), sleuthWebProperties);
then(pattern.pattern()).isEqualTo("/management/context.*");
}
@Test
public void should_pick_management_context_and_servlet_context_when_skip_patterns_is_empty_and_context_path_is_not() throws Exception {
SleuthWebProperties sleuthWebProperties = new SleuthWebProperties();
sleuthWebProperties.setSkipPattern("");
ServerProperties serverProperties = new ServerProperties();
serverProperties.getServlet().setContextPath("baz");
Pattern pattern = TraceWebAutoConfiguration.SkipPatternProviderConfig.getPatternForManagementServerProperties(
managementServerPropertiesWithContextPath(), sleuthWebProperties, serverProperties);
then(pattern.pattern()).isEqualTo("baz.*|/management/context.*");
}
@Test
public void should_pick_management_context_and_additional_pattern_when_skip_patterns_is_empty_and_context_path_is_not() throws Exception {
SleuthWebProperties sleuthWebProperties = new SleuthWebProperties();
@@ -142,7 +88,7 @@ public class SkipPatternProviderConfigTest {
sleuthWebProperties.setAdditionalSkipPattern("baz.*|faz.*");
Pattern pattern = TraceWebAutoConfiguration.SkipPatternProviderConfig.getPatternForManagementServerProperties(
managementServerPropertiesWithContextPath(), sleuthWebProperties, new ServerProperties());
managementServerPropertiesWithContextPath(), sleuthWebProperties);
then(pattern.pattern()).isEqualTo("/management/context.*|baz.*|faz.*");
}
@@ -155,7 +101,7 @@ public class SkipPatternProviderConfigTest {
managementServerProperties.getServlet().setContextPath("");
Pattern pattern = TraceWebAutoConfiguration.SkipPatternProviderConfig.getPatternForManagementServerProperties(
managementServerProperties, sleuthWebProperties, new ServerProperties());
managementServerProperties, sleuthWebProperties);
then(pattern.pattern()).isEqualTo(SleuthWebProperties.DEFAULT_SKIP_PATTERN);
}
@@ -169,7 +115,7 @@ public class SkipPatternProviderConfigTest {
managementServerProperties.getServlet().setContextPath("");
Pattern pattern = TraceWebAutoConfiguration.SkipPatternProviderConfig.getPatternForManagementServerProperties(
managementServerProperties, sleuthWebProperties, new ServerProperties());
managementServerProperties, sleuthWebProperties);
then(pattern.pattern()).isEqualTo(SleuthWebProperties.DEFAULT_SKIP_PATTERN + "|baz.*|faz.*");
}