1// Copyright 2020 The gRPC Authors 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15// Local copy of Envoy xDS proto file, used for testing only. 16 17syntax = "proto3"; 18 19package envoy.extensions.filters.network.http_connection_manager.v3; 20 21import "src/proto/grpc/testing/xds/v3/config_source.proto"; 22import "src/proto/grpc/testing/xds/v3/protocol.proto"; 23import "src/proto/grpc/testing/xds/v3/route.proto"; 24 25// [#protodoc-title: HTTP connection manager] 26// HTTP connection manager :ref:`configuration overview <config_http_conn_man>`. 27// [#extension: envoy.filters.network.http_connection_manager] 28 29message HttpConnectionManager { 30 oneof route_specifier { 31 // The connection manager’s route table will be dynamically loaded via the RDS API. 32 Rds rds = 3; 33 34 // The route table for the connection manager is static and is specified in this property. 35 config.route.v3.RouteConfiguration route_config = 4; 36 37 // A route table will be dynamically assigned to each request based on request attributes 38 // (e.g., the value of a header). The "routing scopes" (i.e., route tables) and "scope keys" are 39 // specified in this message. 40 ScopedRoutes scoped_routes = 31; 41 } 42 43 // Additional settings for HTTP requests handled by the connection manager. These will be 44 // applicable to both HTTP1 and HTTP2 requests. 45 config.core.v3.HttpProtocolOptions common_http_protocol_options = 35; 46} 47 48message Rds { 49 // Configuration source specifier for RDS. 50 config.core.v3.ConfigSource config_source = 1; 51 52 // The name of the route configuration. This name will be passed to the RDS 53 // API. This allows an Envoy configuration with multiple HTTP listeners (and 54 // associated HTTP connection manager filters) to use different route 55 // configurations. 56 string route_config_name = 2; 57} 58 59message ScopedRoutes { 60} 61