Clean remote url if necessary
Make sure that the remote URL does not contain a trailing slash. Closes gh-4297
This commit is contained in:
parent
edd3f1eade
commit
40c2c6db08
|
@ -46,7 +46,7 @@ class RemoteUrlPropertyExtractor
|
|||
@Override
|
||||
public void onApplicationEvent(ApplicationEnvironmentPreparedEvent event) {
|
||||
ConfigurableEnvironment environment = event.getEnvironment();
|
||||
String url = environment.getProperty(NON_OPTION_ARGS);
|
||||
String url = cleanRemoteUrl(environment.getProperty(NON_OPTION_ARGS));
|
||||
Assert.state(StringUtils.hasLength(url), "No remote URL specified");
|
||||
Assert.state(url.indexOf(",") == -1, "Multiple URLs specified");
|
||||
try {
|
||||
|
@ -60,6 +60,13 @@ class RemoteUrlPropertyExtractor
|
|||
environment.getPropertySources().addLast(propertySource);
|
||||
}
|
||||
|
||||
private String cleanRemoteUrl(String url) {
|
||||
if (StringUtils.hasText(url) && url.endsWith("/")) {
|
||||
return url.substring(0, url.length() - 1);
|
||||
}
|
||||
return url;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getOrder() {
|
||||
return Ordered.HIGHEST_PRECEDENCE;
|
||||
|
|
|
@ -79,6 +79,13 @@ public class RemoteUrlPropertyExtractorTests {
|
|||
is(nullValue()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void cleanValidUrl() throws Exception {
|
||||
ApplicationContext context = doTest("http://localhost:8080/");
|
||||
assertThat(context.getEnvironment().getProperty("remoteUrl"),
|
||||
equalTo("http://localhost:8080"));
|
||||
}
|
||||
|
||||
private ApplicationContext doTest(String... args) {
|
||||
SpringApplication application = new SpringApplication(Config.class);
|
||||
application.setWebEnvironment(false);
|
||||
|
|
Loading…
Reference in New Issue