@@ -544,7 +544,7 @@ message RouteMatch {
544544 google.protobuf.BoolValue validated = 2 ;
545545 }
546546
547- // An extensible message for matching CONNECT requests.
547+ // An extensible message for matching CONNECT or CONNECT-UDP requests.
548548 message ConnectMatcher {
549549 }
550550
@@ -577,11 +577,10 @@ message RouteMatch {
577577 // stripping. This needs more thought.]
578578 type.matcher.v3.RegexMatcher safe_regex = 10 [(validate.rules ).message = {required : true}];
579579
580- // If this is used as the matcher, the matcher will only match CONNECT requests.
581- // Note that this will not match HTTP/2 upgrade-style CONNECT requests
582- // (WebSocket and the like) as they are normalized in Envoy as HTTP/1.1 style
583- // upgrades.
584- // This is the only way to match CONNECT requests for HTTP/1.1. For HTTP/2,
580+ // If this is used as the matcher, the matcher will only match CONNECT or CONNECT-UDP requests.
581+ // Note that this will not match other Extended CONNECT requests (WebSocket and the like) as
582+ // they are normalized in Envoy as HTTP/1.1 style upgrades.
583+ // This is the only way to match CONNECT requests for HTTP/1.1. For HTTP/2 and HTTP/3,
585584 // where Extended CONNECT requests may have a path, the path matchers will work if
586585 // there is a path present.
587586 // Note that CONNECT support is currently considered alpha in Envoy.
@@ -2366,6 +2365,7 @@ message QueryParameterMatcher {
23662365}
23672366
23682367// HTTP Internal Redirect :ref:`architecture overview <arch_overview_internal_redirects>`.
2368+ // [#next-free-field: 6]
23692369message InternalRedirectPolicy {
23702370 // An internal redirect is not handled, unless the number of previous internal redirects that a
23712371 // downstream request has encountered is lower than this value.
@@ -2391,6 +2391,14 @@ message InternalRedirectPolicy {
23912391 // Allow internal redirect to follow a target URI with a different scheme than the value of
23922392 // x-forwarded-proto. The default is false.
23932393 bool allow_cross_scheme_redirect = 4 ;
2394+
2395+ // Specifies a list of headers, by name, to copy from the internal redirect into the subsequent
2396+ // request. If a header is specified here but not present in the redirect, it will be cleared in
2397+ // the subsequent request.
2398+ repeated string response_headers_to_copy = 5 [(validate.rules ).repeated = {
2399+ unique : true
2400+ items {string {well_known_regex : HTTP_HEADER_NAME strict : false}}
2401+ }];
23942402}
23952403
23962404// A simple wrapper for an HTTP filter config. This is intended to be used as a wrapper for the
@@ -2409,6 +2417,8 @@ message FilterConfig {
24092417 bool is_optional = 2 ;
24102418
24112419 // If true, the filter is disabled in the route or virtual host and the ``config`` field is ignored.
2420+ // See :ref:`route based filter chain <arch_overview_http_filters_route_based_filter_chain>`
2421+ // for more details.
24122422 //
24132423 // .. note::
24142424 //
0 commit comments