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 Classes Modifier and Type Class Description protected static class
GatewayAutoConfiguration.GatewayActuatorConfiguration
protected static class
GatewayAutoConfiguration.NettyConfiguration
protected static class
GatewayAutoConfiguration.TokenRelayConfiguration
-
Constructor Summary
Constructors Constructor Description GatewayAutoConfiguration()
-
Method Summary
-
-
-
Method Detail
-
stringToZonedDateTimeConverter
@Bean public StringToZonedDateTimeConverter 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
@Bean public FilteringWebHandler filteringWebHandler(List<GlobalFilter> globalFilters)
-
globalCorsProperties
@Bean public GlobalCorsProperties globalCorsProperties()
-
routePredicateHandlerMapping
@Bean @ConditionalOnMissingBean public RoutePredicateHandlerMapping routePredicateHandlerMapping(FilteringWebHandler webHandler, RouteLocator routeLocator, GlobalCorsProperties globalCorsProperties, org.springframework.core.env.Environment environment)
-
gatewayProperties
@Bean public GatewayProperties gatewayProperties()
-
secureHeadersProperties
@Bean public SecureHeadersProperties secureHeadersProperties()
-
forwardedHeadersFilter
@Bean @ConditionalOnProperty(name="spring.cloud.gateway.forwarded.enabled", matchIfMissing=true) public ForwardedHeadersFilter forwardedHeadersFilter()
-
removeHopByHopHeadersFilter
@Bean public RemoveHopByHopHeadersFilter 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
@Bean @ConditionalOnEnabledGlobalFilter public RemoveCachedBodyFilter removeCachedBodyFilter()
-
routeToRequestUrlFilter
@Bean @ConditionalOnEnabledGlobalFilter public RouteToRequestUrlFilter routeToRequestUrlFilter()
-
forwardRoutingFilter
@Bean @ConditionalOnEnabledGlobalFilter public ForwardRoutingFilter forwardRoutingFilter(org.springframework.beans.factory.ObjectProvider<org.springframework.web.reactive.DispatcherHandler> dispatcherHandler)
-
forwardPathFilter
@Bean @ConditionalOnEnabledGlobalFilter public ForwardPathFilter 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
@Bean @ConditionalOnEnabledPredicate public AfterRoutePredicateFactory 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
@Bean @ConditionalOnEnabledPredicate public HostRoutePredicateFactory hostRoutePredicateFactory()
-
methodRoutePredicateFactory
@Bean @ConditionalOnEnabledPredicate public MethodRoutePredicateFactory methodRoutePredicateFactory()
-
pathRoutePredicateFactory
@Bean @ConditionalOnEnabledPredicate public PathRoutePredicateFactory pathRoutePredicateFactory()
-
queryRoutePredicateFactory
@Bean @ConditionalOnEnabledPredicate public QueryRoutePredicateFactory 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(org.springframework.http.codec.ServerCodecConfigurer codecConfigurer)
-
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
@Bean @ConditionalOnEnabledFilter public RetryGatewayFilterFactory retryGatewayFilterFactory()
-
setPathGatewayFilterFactory
@Bean @ConditionalOnEnabledFilter public SetPathGatewayFilterFactory 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
@Bean public GzipMessageBodyResolver gzipMessageBodyResolver()
-
-