Merge branch 'gh-4320'

This commit is contained in:
Andy Wilkinson 2016-01-15 17:48:14 +00:00
commit eb3d64108e
2 changed files with 9 additions and 12 deletions

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -42,6 +42,7 @@ import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionOutcome;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.boot.autoconfigure.condition.SpringBootCondition;
import org.springframework.boot.autoconfigure.data.rest.RepositoryRestMvcAutoConfiguration;
@ -87,6 +88,7 @@ import org.springframework.web.servlet.DispatcherServlet;
* @author Christian Dupuis
* @author Andy Wilkinson
* @author Johannes Edmeier
* @author Eddú Meléndez
*/
@Configuration
@ConditionalOnClass({ Servlet.class, DispatcherServlet.class })
@ -198,6 +200,7 @@ public class EndpointWebMvcAutoConfiguration
// Put Servlets and Filters in their own nested class so they don't force early
// instantiation of ManagementServerProperties.
@Configuration
@ConditionalOnProperty(prefix = "management", name = "add-application-context-header", matchIfMissing = true, havingValue = "true")
protected static class ApplicationContextFilterConfiguration {
@Bean
@ -222,8 +225,6 @@ public class EndpointWebMvcAutoConfiguration
private final ApplicationContext applicationContext;
private ManagementServerProperties properties;
ApplicationContextHeaderFilter(ApplicationContext applicationContext) {
this.applicationContext = applicationContext;
}
@ -232,14 +233,7 @@ public class EndpointWebMvcAutoConfiguration
protected void doFilterInternal(HttpServletRequest request,
HttpServletResponse response, FilterChain filterChain)
throws ServletException, IOException {
if (this.properties == null) {
this.properties = this.applicationContext
.getBean(ManagementServerProperties.class);
}
if (this.properties.getAddApplicationContextHeader()) {
response.addHeader("X-Application-Context",
this.applicationContext.getId());
}
response.addHeader("X-Application-Context", this.applicationContext.getId());
filterChain.doFilter(request, response);
}

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -98,6 +98,7 @@ import static org.mockito.Mockito.mock;
* @author Phillip Webb
* @author Greg Turnquist
* @author Andy Wilkinson
* @author Eddú Meléndez
*/
public class EndpointWebMvcAutoConfigurationTests {
@ -136,6 +137,7 @@ public class EndpointWebMvcAutoConfigurationTests {
assertContent("/controller", ports.get().management, null);
assertContent("/endpoint", ports.get().management, null);
assertTrue(hasHeader("/endpoint", ports.get().server, "X-Application-Context"));
assertTrue(this.applicationContext.containsBean("applicationContextIdFilter"));
this.applicationContext.close();
assertAllClosed();
}
@ -149,6 +151,7 @@ public class EndpointWebMvcAutoConfigurationTests {
EndpointWebMvcAutoConfiguration.class);
this.applicationContext.refresh();
assertFalse(hasHeader("/endpoint", ports.get().server, "X-Application-Context"));
assertFalse(this.applicationContext.containsBean("applicationContextIdFilter"));
this.applicationContext.close();
assertAllClosed();
}