Class GatewayAutoConfiguration
java.lang.Object
org.springframework.cloud.gateway.config.GatewayAutoConfiguration
@Configuration(proxyBeanMethods=false)
@ConditionalOnProperty(name="spring.cloud.gateway.enabled",
matchIfMissing=true)
@EnableConfigurationProperties
@AutoConfigureBefore({org.springframework.boot.autoconfigure.web.reactive.HttpHandlerAutoConfiguration.class,org.springframework.boot.autoconfigure.web.reactive.WebFluxAutoConfiguration.class})
@AutoConfigureAfter({GatewayReactiveLoadBalancerClientAutoConfiguration.class,GatewayClassPathWarningAutoConfiguration.class})
@ConditionalOnClass(org.springframework.web.reactive.DispatcherHandler.class)
public class GatewayAutoConfiguration
extends Object
- Author:
- Spencer Gibb, Ziemowit Stolarczyk, Mete Alpaslan Katırcıoğlu, Alberto C. Ríos
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classprotected static classprotected static class -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncachedCompositeRouteLocator(List<RouteLocator> routeLocators) filteringWebHandler(List<GlobalFilter> globalFilters) forwardRoutingFilter(org.springframework.beans.factory.ObjectProvider<org.springframework.web.reactive.DispatcherHandler> dispatcherHandler) gatewayConfigurationService(org.springframework.beans.factory.BeanFactory beanFactory, org.springframework.beans.factory.ObjectProvider<org.springframework.core.convert.ConversionService> conversionService, org.springframework.beans.factory.ObjectProvider<org.springframework.validation.Validator> validator) grpcSslConfigurer(HttpClientProperties properties) jsonToGRPCFilterFactory(GrpcSslConfigurer gRPCSSLContext, org.springframework.core.io.ResourceLoader resourceLoader) modifyRequestBodyGatewayFilterFactory(org.springframework.http.codec.ServerCodecConfigurer codecConfigurer) modifyResponseBodyGatewayFilterFactory(org.springframework.http.codec.ServerCodecConfigurer codecConfigurer, Set<MessageBodyDecoder> bodyDecoders, Set<MessageBodyEncoder> bodyEncoders) propertiesRouteDefinitionLocator(GatewayProperties properties) readBodyPredicateFactory(org.springframework.http.codec.ServerCodecConfigurer codecConfigurer) requestRateLimiterGatewayFilterFactory(RateLimiter rateLimiter, KeyResolver resolver) routeDefinitionLocator(List<RouteDefinitionLocator> routeDefinitionLocators) routeDefinitionRouteLocator(GatewayProperties properties, List<GatewayFilterFactory> gatewayFilters, List<RoutePredicateFactory> predicates, RouteDefinitionLocator routeDefinitionLocator, ConfigurationService configurationService) routeLocatorBuilder(org.springframework.context.ConfigurableApplicationContext context) routePredicateHandlerMapping(FilteringWebHandler webHandler, RouteLocator routeLocator, GlobalCorsProperties globalCorsProperties, org.springframework.core.env.Environment environment) routeRefreshListener(org.springframework.context.ApplicationEventPublisher publisher) websocketRoutingFilter(org.springframework.web.reactive.socket.client.WebSocketClient webSocketClient, org.springframework.web.reactive.socket.server.WebSocketService webSocketService, org.springframework.beans.factory.ObjectProvider<List<HttpHeadersFilter>> headersFilters) org.springframework.web.reactive.socket.server.WebSocketServicewebSocketService(org.springframework.web.reactive.socket.server.RequestUpgradeStrategy requestUpgradeStrategy) weightCalculatorWebFilter(ConfigurationService configurationService, org.springframework.beans.factory.ObjectProvider<RouteLocator> routeLocator)
-
Constructor Details
-
GatewayAutoConfiguration
public GatewayAutoConfiguration()
-
-
Method Details
-
stringToZonedDateTimeConverter
-
routeLocatorBuilder
@Bean public RouteLocatorBuilder routeLocatorBuilder(org.springframework.context.ConfigurableApplicationContext context) -
propertiesRouteDefinitionLocator
@Bean @ConditionalOnMissingBean public PropertiesRouteDefinitionLocator propertiesRouteDefinitionLocator(GatewayProperties properties) -
inMemoryRouteDefinitionRepository
@Bean @ConditionalOnMissingBean(RouteDefinitionRepository.class) public InMemoryRouteDefinitionRepository inMemoryRouteDefinitionRepository() -
routeDefinitionLocator
@Bean @Primary public RouteDefinitionLocator routeDefinitionLocator(List<RouteDefinitionLocator> routeDefinitionLocators) -
gatewayConfigurationService
@Bean public ConfigurationService gatewayConfigurationService(org.springframework.beans.factory.BeanFactory beanFactory, @Qualifier("webFluxConversionService") org.springframework.beans.factory.ObjectProvider<org.springframework.core.convert.ConversionService> conversionService, org.springframework.beans.factory.ObjectProvider<org.springframework.validation.Validator> validator) -
routeDefinitionRouteLocator
@Bean public RouteLocator routeDefinitionRouteLocator(GatewayProperties properties, List<GatewayFilterFactory> gatewayFilters, List<RoutePredicateFactory> predicates, RouteDefinitionLocator routeDefinitionLocator, ConfigurationService configurationService) -
cachedCompositeRouteLocator
@Bean @Primary @ConditionalOnMissingBean(name="cachedCompositeRouteLocator") public RouteLocator cachedCompositeRouteLocator(List<RouteLocator> routeLocators) -
routeRefreshListener
@Bean @ConditionalOnClass(name="org.springframework.cloud.client.discovery.event.HeartbeatMonitor") public RouteRefreshListener routeRefreshListener(org.springframework.context.ApplicationEventPublisher publisher) -
filteringWebHandler
-
globalCorsProperties
-
routePredicateHandlerMapping
@Bean @ConditionalOnMissingBean public RoutePredicateHandlerMapping routePredicateHandlerMapping(FilteringWebHandler webHandler, RouteLocator routeLocator, GlobalCorsProperties globalCorsProperties, org.springframework.core.env.Environment environment) -
gatewayProperties
-
secureHeadersProperties
-
forwardedHeadersFilter
@Bean @ConditionalOnProperty(name="spring.cloud.gateway.forwarded.enabled", matchIfMissing=true) public ForwardedHeadersFilter forwardedHeadersFilter() -
removeHopByHopHeadersFilter
-
xForwardedHeadersFilter
@Bean @ConditionalOnProperty(name="spring.cloud.gateway.x-forwarded.enabled", matchIfMissing=true) public XForwardedHeadersFilter xForwardedHeadersFilter() -
gRPCRequestHeadersFilter
@Bean @ConditionalOnProperty(name="server.http2.enabled", matchIfMissing=true) public GRPCRequestHeadersFilter gRPCRequestHeadersFilter() -
gRPCResponseHeadersFilter
@Bean @ConditionalOnProperty(name="server.http2.enabled", matchIfMissing=true) public GRPCResponseHeadersFilter gRPCResponseHeadersFilter() -
jsonToGRPCFilterFactory
@Bean @ConditionalOnEnabledFilter @ConditionalOnProperty(name="server.http2.enabled", matchIfMissing=true) @ConditionalOnClass(name="io.grpc.Channel") public JsonToGrpcGatewayFilterFactory jsonToGRPCFilterFactory(GrpcSslConfigurer gRPCSSLContext, org.springframework.core.io.ResourceLoader resourceLoader) -
grpcSslConfigurer
@Bean @ConditionalOnEnabledFilter(JsonToGrpcGatewayFilterFactory.class) @ConditionalOnMissingBean(GrpcSslConfigurer.class) @ConditionalOnClass(name="io.grpc.Channel") public GrpcSslConfigurer grpcSslConfigurer(HttpClientProperties properties) throws KeyStoreException, NoSuchAlgorithmException -
transferEncodingNormalizationHeadersFilter
@Bean public TransferEncodingNormalizationHeadersFilter transferEncodingNormalizationHeadersFilter() -
adaptCachedBodyGlobalFilter
@Bean @ConditionalOnEnabledGlobalFilter public AdaptCachedBodyGlobalFilter adaptCachedBodyGlobalFilter() -
removeCachedBodyFilter
-
routeToRequestUrlFilter
-
forwardRoutingFilter
@Bean @ConditionalOnEnabledGlobalFilter public ForwardRoutingFilter forwardRoutingFilter(org.springframework.beans.factory.ObjectProvider<org.springframework.web.reactive.DispatcherHandler> dispatcherHandler) -
forwardPathFilter
-
webSocketService
@Bean @ConditionalOnEnabledGlobalFilter(WebsocketRoutingFilter.class) public org.springframework.web.reactive.socket.server.WebSocketService webSocketService(org.springframework.web.reactive.socket.server.RequestUpgradeStrategy requestUpgradeStrategy) -
websocketRoutingFilter
@Bean @ConditionalOnEnabledGlobalFilter public WebsocketRoutingFilter websocketRoutingFilter(org.springframework.web.reactive.socket.client.WebSocketClient webSocketClient, org.springframework.web.reactive.socket.server.WebSocketService webSocketService, org.springframework.beans.factory.ObjectProvider<List<HttpHeadersFilter>> headersFilters) -
weightCalculatorWebFilter
@Bean @ConditionalOnEnabledPredicate(WeightRoutePredicateFactory.class) public WeightCalculatorWebFilter weightCalculatorWebFilter(ConfigurationService configurationService, org.springframework.beans.factory.ObjectProvider<RouteLocator> routeLocator) -
afterRoutePredicateFactory
-
beforeRoutePredicateFactory
@Bean @ConditionalOnEnabledPredicate public BeforeRoutePredicateFactory beforeRoutePredicateFactory() -
betweenRoutePredicateFactory
@Bean @ConditionalOnEnabledPredicate public BetweenRoutePredicateFactory betweenRoutePredicateFactory() -
cookieRoutePredicateFactory
@Bean @ConditionalOnEnabledPredicate public CookieRoutePredicateFactory cookieRoutePredicateFactory() -
headerRoutePredicateFactory
@Bean @ConditionalOnEnabledPredicate public HeaderRoutePredicateFactory headerRoutePredicateFactory() -
hostRoutePredicateFactory
-
methodRoutePredicateFactory
@Bean @ConditionalOnEnabledPredicate public MethodRoutePredicateFactory methodRoutePredicateFactory() -
pathRoutePredicateFactory
-
queryRoutePredicateFactory
-
readBodyPredicateFactory
@Bean @ConditionalOnEnabledPredicate public ReadBodyRoutePredicateFactory readBodyPredicateFactory(org.springframework.http.codec.ServerCodecConfigurer codecConfigurer) -
remoteAddrRoutePredicateFactory
@Bean @ConditionalOnEnabledPredicate public RemoteAddrRoutePredicateFactory remoteAddrRoutePredicateFactory() -
xForwardedRemoteAddrRoutePredicateFactory
@Bean @ConditionalOnEnabledPredicate public XForwardedRemoteAddrRoutePredicateFactory xForwardedRemoteAddrRoutePredicateFactory() -
weightRoutePredicateFactory
@Bean @DependsOn("weightCalculatorWebFilter") @ConditionalOnEnabledPredicate public WeightRoutePredicateFactory weightRoutePredicateFactory() -
cloudFoundryRouteServiceRoutePredicateFactory
@Bean @ConditionalOnEnabledPredicate public CloudFoundryRouteServiceRoutePredicateFactory cloudFoundryRouteServiceRoutePredicateFactory() -
addRequestHeaderGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public AddRequestHeaderGatewayFilterFactory addRequestHeaderGatewayFilterFactory() -
mapRequestHeaderGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public MapRequestHeaderGatewayFilterFactory mapRequestHeaderGatewayFilterFactory() -
addRequestParameterGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public AddRequestParameterGatewayFilterFactory addRequestParameterGatewayFilterFactory() -
addResponseHeaderGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public AddResponseHeaderGatewayFilterFactory addResponseHeaderGatewayFilterFactory() -
modifyRequestBodyGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public ModifyRequestBodyGatewayFilterFactory modifyRequestBodyGatewayFilterFactory(org.springframework.http.codec.ServerCodecConfigurer codecConfigurer) -
dedupeResponseHeaderGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public DedupeResponseHeaderGatewayFilterFactory dedupeResponseHeaderGatewayFilterFactory() -
modifyResponseBodyGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public ModifyResponseBodyGatewayFilterFactory modifyResponseBodyGatewayFilterFactory(org.springframework.http.codec.ServerCodecConfigurer codecConfigurer, Set<MessageBodyDecoder> bodyDecoders, Set<MessageBodyEncoder> bodyEncoders) -
cacheRequestBodyGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public CacheRequestBodyGatewayFilterFactory cacheRequestBodyGatewayFilterFactory() -
prefixPathGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public PrefixPathGatewayFilterFactory prefixPathGatewayFilterFactory() -
preserveHostHeaderGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public PreserveHostHeaderGatewayFilterFactory preserveHostHeaderGatewayFilterFactory() -
redirectToGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public RedirectToGatewayFilterFactory redirectToGatewayFilterFactory() -
removeRequestHeaderGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public RemoveRequestHeaderGatewayFilterFactory removeRequestHeaderGatewayFilterFactory() -
removeRequestParameterGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public RemoveRequestParameterGatewayFilterFactory removeRequestParameterGatewayFilterFactory() -
removeResponseHeaderGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public RemoveResponseHeaderGatewayFilterFactory removeResponseHeaderGatewayFilterFactory() -
principalNameKeyResolver
@Bean(name="principalNameKeyResolver") @ConditionalOnBean(RateLimiter.class) @ConditionalOnMissingBean(KeyResolver.class) @ConditionalOnEnabledFilter(RequestRateLimiterGatewayFilterFactory.class) public PrincipalNameKeyResolver principalNameKeyResolver() -
requestRateLimiterGatewayFilterFactory
@Bean @ConditionalOnBean({RateLimiter.class,KeyResolver.class}) @ConditionalOnEnabledFilter public RequestRateLimiterGatewayFilterFactory requestRateLimiterGatewayFilterFactory(RateLimiter rateLimiter, KeyResolver resolver) -
rewritePathGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public RewritePathGatewayFilterFactory rewritePathGatewayFilterFactory() -
retryGatewayFilterFactory
-
setPathGatewayFilterFactory
-
secureHeadersGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public SecureHeadersGatewayFilterFactory secureHeadersGatewayFilterFactory(SecureHeadersProperties properties) -
setRequestHeaderGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public SetRequestHeaderGatewayFilterFactory setRequestHeaderGatewayFilterFactory() -
setRequestHostHeaderGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public SetRequestHostHeaderGatewayFilterFactory setRequestHostHeaderGatewayFilterFactory() -
setResponseHeaderGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public SetResponseHeaderGatewayFilterFactory setResponseHeaderGatewayFilterFactory() -
rewriteResponseHeaderGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public RewriteResponseHeaderGatewayFilterFactory rewriteResponseHeaderGatewayFilterFactory() -
rewriteLocationResponseHeaderGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public RewriteLocationResponseHeaderGatewayFilterFactory rewriteLocationResponseHeaderGatewayFilterFactory() -
setStatusGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public SetStatusGatewayFilterFactory setStatusGatewayFilterFactory() -
saveSessionGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public SaveSessionGatewayFilterFactory saveSessionGatewayFilterFactory() -
stripPrefixGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public StripPrefixGatewayFilterFactory stripPrefixGatewayFilterFactory() -
requestHeaderToRequestUriGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public RequestHeaderToRequestUriGatewayFilterFactory requestHeaderToRequestUriGatewayFilterFactory() -
requestSizeGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public RequestSizeGatewayFilterFactory requestSizeGatewayFilterFactory() -
requestHeaderSizeGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public RequestHeaderSizeGatewayFilterFactory requestHeaderSizeGatewayFilterFactory() -
gzipMessageBodyResolver
-