|
|
@ -16,35 +16,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
package org.springframework.boot.actuate.autoconfigure.endpoint.web;
|
|
|
|
package org.springframework.boot.actuate.autoconfigure.endpoint.web;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import org.glassfish.jersey.server.ResourceConfig;
|
|
|
|
|
|
|
|
|
|
|
|
import org.springframework.boot.actuate.autoconfigure.endpoint.ExposeExcludePropertyEndpointFilter;
|
|
|
|
import org.springframework.boot.actuate.autoconfigure.endpoint.ExposeExcludePropertyEndpointFilter;
|
|
|
|
import org.springframework.boot.actuate.autoconfigure.web.ManagementContextConfiguration;
|
|
|
|
import org.springframework.boot.actuate.autoconfigure.web.ManagementContextConfiguration;
|
|
|
|
import org.springframework.boot.actuate.endpoint.web.ExposableServletEndpoint;
|
|
|
|
import org.springframework.boot.actuate.endpoint.web.ExposableServletEndpoint;
|
|
|
|
import org.springframework.boot.actuate.endpoint.web.ServletEndpointRegistrar;
|
|
|
|
import org.springframework.boot.actuate.endpoint.web.ServletEndpointRegistrar;
|
|
|
|
import org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointsSupplier;
|
|
|
|
import org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointsSupplier;
|
|
|
|
|
|
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
|
|
|
|
|
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass;
|
|
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
|
|
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
|
|
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type;
|
|
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type;
|
|
|
|
|
|
|
|
import org.springframework.boot.autoconfigure.web.servlet.DispatcherServletPathProvider;
|
|
|
|
|
|
|
|
import org.springframework.context.ApplicationContext;
|
|
|
|
import org.springframework.context.annotation.Bean;
|
|
|
|
import org.springframework.context.annotation.Bean;
|
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
|
|
|
|
|
import org.springframework.web.servlet.DispatcherServlet;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* {@link ManagementContextConfiguration} for servlet endpoints.
|
|
|
|
* {@link ManagementContextConfiguration} for servlet endpoints.
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* @author Phillip Webb
|
|
|
|
* @author Phillip Webb
|
|
|
|
* @author Andy Wilkinson
|
|
|
|
* @author Andy Wilkinson
|
|
|
|
|
|
|
|
* @author Madhura Bhave
|
|
|
|
* @since 2.0.0
|
|
|
|
* @since 2.0.0
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
@Configuration
|
|
|
|
@Configuration
|
|
|
|
@ConditionalOnWebApplication(type = Type.SERVLET)
|
|
|
|
@ConditionalOnWebApplication(type = Type.SERVLET)
|
|
|
|
public class ServletEndpointManagementContextConfiguration {
|
|
|
|
public class ServletEndpointManagementContextConfiguration {
|
|
|
|
|
|
|
|
|
|
|
|
@Bean
|
|
|
|
|
|
|
|
public ServletEndpointRegistrar servletEndpointRegistrar(
|
|
|
|
|
|
|
|
WebEndpointProperties properties,
|
|
|
|
|
|
|
|
ServletEndpointsSupplier servletEndpointsSupplier) {
|
|
|
|
|
|
|
|
return new ServletEndpointRegistrar(properties.getBasePath(),
|
|
|
|
|
|
|
|
servletEndpointsSupplier.getEndpoints());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Bean
|
|
|
|
@Bean
|
|
|
|
public ExposeExcludePropertyEndpointFilter<ExposableServletEndpoint> servletExposeExcludePropertyEndpointFilter(
|
|
|
|
public ExposeExcludePropertyEndpointFilter<ExposableServletEndpoint> servletExposeExcludePropertyEndpointFilter(
|
|
|
|
WebEndpointProperties properties) {
|
|
|
|
WebEndpointProperties properties) {
|
|
|
@ -53,4 +53,41 @@ public class ServletEndpointManagementContextConfiguration {
|
|
|
|
exposure.getInclude(), exposure.getExclude());
|
|
|
|
exposure.getInclude(), exposure.getExclude());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Configuration
|
|
|
|
|
|
|
|
@ConditionalOnClass(DispatcherServlet.class)
|
|
|
|
|
|
|
|
public class WebMvcServletEndpointManagementContextConfiguration {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private final ApplicationContext context;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public WebMvcServletEndpointManagementContextConfiguration(ApplicationContext context) {
|
|
|
|
|
|
|
|
this.context = context;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Bean
|
|
|
|
|
|
|
|
public ServletEndpointRegistrar servletEndpointRegistrar(
|
|
|
|
|
|
|
|
WebEndpointProperties properties,
|
|
|
|
|
|
|
|
ServletEndpointsSupplier servletEndpointsSupplier) {
|
|
|
|
|
|
|
|
DispatcherServletPathProvider servletPathProvider = this.context.getBean(DispatcherServletPathProvider.class);
|
|
|
|
|
|
|
|
String servletPath = (servletPathProvider.getServletPath().equals("/") ? "" : servletPathProvider.getServletPath());
|
|
|
|
|
|
|
|
return new ServletEndpointRegistrar(servletPath + properties.getBasePath(),
|
|
|
|
|
|
|
|
servletEndpointsSupplier.getEndpoints());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Configuration
|
|
|
|
|
|
|
|
@ConditionalOnClass(ResourceConfig.class)
|
|
|
|
|
|
|
|
@ConditionalOnMissingClass("org.springframework.web.servlet.DispatcherServlet")
|
|
|
|
|
|
|
|
public class JerseyServletEndpointManagementContextConfiguration {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Bean
|
|
|
|
|
|
|
|
public ServletEndpointRegistrar servletEndpointRegistrar(
|
|
|
|
|
|
|
|
WebEndpointProperties properties,
|
|
|
|
|
|
|
|
ServletEndpointsSupplier servletEndpointsSupplier) {
|
|
|
|
|
|
|
|
return new ServletEndpointRegistrar(properties.getBasePath(),
|
|
|
|
|
|
|
|
servletEndpointsSupplier.getEndpoints());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|