• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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