Search in sources :

Example 16 with HttpFilter

use of io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter in project grpc-java by grpc.

the class ClientXdsClientDataTest method parseHttpFilter_routerFilterForClient.

@Test
public void parseHttpFilter_routerFilterForClient() {
    filterRegistry.register(RouterFilter.INSTANCE);
    HttpFilter httpFilter = HttpFilter.newBuilder().setIsOptional(false).setName("envoy.router").setTypedConfig(Any.pack(Router.getDefaultInstance())).build();
    FilterConfig config = ClientXdsClient.parseHttpFilter(httpFilter, filterRegistry, true).getStruct();
    assertThat(config.typeUrl()).isEqualTo(RouterFilter.TYPE_URL);
}
Also used : HttpFilter(io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter) FilterConfig(io.grpc.xds.Filter.FilterConfig) Test(org.junit.Test)

Example 17 with HttpFilter

use of io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter in project grpc-java by grpc.

the class FakeControlPlaneXdsIntegrationTest method serverListener.

private static Listener serverListener(String name) {
    HttpFilter routerFilter = HttpFilter.newBuilder().setName("terminal-filter").setTypedConfig(Any.pack(Router.newBuilder().build())).setIsOptional(true).build();
    VirtualHost virtualHost = io.envoyproxy.envoy.config.route.v3.VirtualHost.newBuilder().setName("virtual-host-0").addDomains("*").addRoutes(Route.newBuilder().setMatch(RouteMatch.newBuilder().setPrefix("/").build()).setNonForwardingAction(NonForwardingAction.newBuilder().build()).build()).build();
    RouteConfiguration routeConfig = RouteConfiguration.newBuilder().addVirtualHosts(virtualHost).build();
    Filter filter = Filter.newBuilder().setName("network-filter-0").setTypedConfig(Any.pack(HttpConnectionManager.newBuilder().setRouteConfig(routeConfig).addAllHttpFilters(Collections.singletonList(routerFilter)).build())).build();
    FilterChainMatch filterChainMatch = FilterChainMatch.newBuilder().setSourceType(FilterChainMatch.ConnectionSourceType.ANY).build();
    FilterChain filterChain = FilterChain.newBuilder().setName("filter-chain-0").setFilterChainMatch(filterChainMatch).addFilters(filter).build();
    return Listener.newBuilder().setName(name).setTrafficDirection(TrafficDirection.INBOUND).addFilterChains(filterChain).build();
}
Also used : Filter(io.envoyproxy.envoy.config.listener.v3.Filter) HttpFilter(io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter) RouteConfiguration(io.envoyproxy.envoy.config.route.v3.RouteConfiguration) FilterChain(io.envoyproxy.envoy.config.listener.v3.FilterChain) FilterChainMatch(io.envoyproxy.envoy.config.listener.v3.FilterChainMatch) HttpFilter(io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter) VirtualHost(io.envoyproxy.envoy.config.route.v3.VirtualHost)

Aggregations

Test (org.junit.Test)14 HttpFilter (io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter)11 FilterConfig (io.grpc.xds.Filter.FilterConfig)8 HttpConnectionManager (io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager)5 TypedStruct (com.github.udpa.udpa.type.v1.TypedStruct)1 VisibleForTesting (com.google.common.annotations.VisibleForTesting)1 Struct (com.google.protobuf.Struct)1 HttpProtocolOptions (io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions)1 ApiListener (io.envoyproxy.envoy.config.listener.v3.ApiListener)1 Filter (io.envoyproxy.envoy.config.listener.v3.Filter)1 FilterChain (io.envoyproxy.envoy.config.listener.v3.FilterChain)1 FilterChainMatch (io.envoyproxy.envoy.config.listener.v3.FilterChainMatch)1 Listener (io.envoyproxy.envoy.config.listener.v3.Listener)1 RouteConfiguration (io.envoyproxy.envoy.config.route.v3.RouteConfiguration)1 VirtualHost (io.envoyproxy.envoy.config.route.v3.VirtualHost)1 Rds (io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.Rds)1 LbEndpoint (io.grpc.xds.Endpoints.LbEndpoint)1 NamedFilterConfig (io.grpc.xds.Filter.NamedFilterConfig)1 HashSet (java.util.HashSet)1