Class NettyRoutingFilter
- java.lang.Object
-
- org.springframework.cloud.gateway.filter.NettyRoutingFilter
-
- All Implemented Interfaces:
GlobalFilter
,org.springframework.core.Ordered
public class NettyRoutingFilter extends Object implements GlobalFilter, org.springframework.core.Ordered
- Author:
- Spencer Gibb, Biju Kunjummen
-
-
Field Summary
Fields Modifier and Type Field Description static int
ORDER
The order of the NettyRoutingFilter.
-
Constructor Summary
Constructors Constructor Description NettyRoutingFilter(reactor.netty.http.client.HttpClient httpClient, org.springframework.beans.factory.ObjectProvider<List<HttpHeadersFilter>> headersFiltersProvider, HttpClientProperties properties)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description reactor.core.publisher.Mono<Void>
filter(org.springframework.web.server.ServerWebExchange exchange, GatewayFilterChain chain)
Process the Web request and (optionally) delegate to the nextGatewayFilter
through the givenGatewayFilterChain
.protected io.netty.buffer.ByteBuf
getByteBuf(org.springframework.core.io.buffer.DataBuffer dataBuffer)
List<HttpHeadersFilter>
getHeadersFilters()
protected reactor.netty.http.client.HttpClient
getHttpClient(Route route, org.springframework.web.server.ServerWebExchange exchange)
Creates a new HttpClient with per route timeout configuration.int
getOrder()
-
-
-
Field Detail
-
ORDER
public static final int ORDER
The order of the NettyRoutingFilter. SeeOrdered.LOWEST_PRECEDENCE
.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
NettyRoutingFilter
public NettyRoutingFilter(reactor.netty.http.client.HttpClient httpClient, org.springframework.beans.factory.ObjectProvider<List<HttpHeadersFilter>> headersFiltersProvider, HttpClientProperties properties)
-
-
Method Detail
-
getHeadersFilters
public List<HttpHeadersFilter> getHeadersFilters()
-
getOrder
public int getOrder()
- Specified by:
getOrder
in interfaceorg.springframework.core.Ordered
-
filter
public reactor.core.publisher.Mono<Void> filter(org.springframework.web.server.ServerWebExchange exchange, GatewayFilterChain chain)
Description copied from interface:GlobalFilter
Process the Web request and (optionally) delegate to the nextGatewayFilter
through the givenGatewayFilterChain
.- Specified by:
filter
in interfaceGlobalFilter
- Parameters:
exchange
- the current server exchangechain
- provides a way to delegate to the next filter- Returns:
Mono<Void>
to indicate when request processing is complete
-
getByteBuf
protected io.netty.buffer.ByteBuf getByteBuf(org.springframework.core.io.buffer.DataBuffer dataBuffer)
-
getHttpClient
protected reactor.netty.http.client.HttpClient getHttpClient(Route route, org.springframework.web.server.ServerWebExchange exchange)
Creates a new HttpClient with per route timeout configuration. Sub-classes that override, should call super.getHttpClient() if they want to honor the per route timeout configuration.- Parameters:
route
- the current route.exchange
- the current ServerWebExchange.- Returns:
- the configured HttpClient.
-
-