From f61d5e4564a4ceaf792149c474bf5c48c2582451 Mon Sep 17 00:00:00 2001 From: "update-envoy[bot]" <135279899+update-envoy[bot]@users.noreply.github.com> Date: Wed, 25 Sep 2024 23:34:52 +0000 Subject: [PATCH] Mirrored from envoyproxy/envoy @ 1a153166a6d1e9336ee8982d1a00ba98655c9d39 Signed-off-by: update-envoy[bot] <135279899+update-envoy[bot]@users.noreply.github.com> --- envoy/COMMIT | 2 +- .../filters/http/ext_proc/v3/ext_proc.pb.go | 17 +++++++++-------- .../ext_proc/v3/external_processor.pb.go | 8 ++++---- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/envoy/COMMIT b/envoy/COMMIT index 63c88a9bc..011b74fdd 100644 --- a/envoy/COMMIT +++ b/envoy/COMMIT @@ -1 +1 @@ -07a8c4afe8ac83632535bd118f142df70d2335be +1a153166a6d1e9336ee8982d1a00ba98655c9d39 diff --git a/envoy/extensions/filters/http/ext_proc/v3/ext_proc.pb.go b/envoy/extensions/filters/http/ext_proc/v3/ext_proc.pb.go index 02fdb271e..511b8c4da 100755 --- a/envoy/extensions/filters/http/ext_proc/v3/ext_proc.pb.go +++ b/envoy/extensions/filters/http/ext_proc/v3/ext_proc.pb.go @@ -281,19 +281,20 @@ type ExternalProcessor struct { // backend stream lifetime. In this case, Envoy will eventually timeout the external processor stream according to this time limit. // The default value is 5000 milliseconds (5 seconds) if not specified. DeferredCloseTimeout *durationpb.Duration `protobuf:"bytes,19,opt,name=deferred_close_timeout,json=deferredCloseTimeout,proto3" json:"deferred_close_timeout,omitempty"` - // [#not-implemented-hide:] // Send body to the side stream server once it arrives without waiting for the header response from that server. // It only works for STREAMED body processing mode. For any other body processing modes, it is ignored. - // // The server has two options upon receiving a header request: - // 1. Instant Response: Send the header response as soon as the header request is received. - // 2. Delayed Response: Wait for the body before sending any response. - // If the server chooses the second option, it has two further choices: - // 2.1 Separate Responses: Send the header response first, followed by separate body responses. - // 2.2 Combined Response: Include both the header response and the first chunk of the body response - // in a single body response message, followed by the remaining body responses. + // + // 1. Instant Response: send the header response as soon as the header request is received. + // + // 2. Delayed Response: wait for the body before sending any response. // // In all scenarios, the header-body ordering must always be maintained. + // + // If enabled Envoy will ignore the + // :ref:`mode_override ` + // value that the server sends in the header response. This is because Envoy may have already + // sent the body to the server, prior to processing the header response. SendBodyWithoutWaitingForHeaderResponse bool `protobuf:"varint,21,opt,name=send_body_without_waiting_for_header_response,json=sendBodyWithoutWaitingForHeaderResponse,proto3" json:"send_body_without_waiting_for_header_response,omitempty"` // When :ref:`allow_mode_override // ` is enabled and diff --git a/envoy/service/ext_proc/v3/external_processor.pb.go b/envoy/service/ext_proc/v3/external_processor.pb.go index f301197c0..53f136da5 100755 --- a/envoy/service/ext_proc/v3/external_processor.pb.go +++ b/envoy/service/ext_proc/v3/external_processor.pb.go @@ -323,7 +323,10 @@ type ProcessingResponse struct { // It is also ignored by Envoy when the ext_proc filter config // :ref:`allow_mode_override // ` - // is set to false. + // is set to false, or + // :ref:`send_body_without_waiting_for_header_response + // ` + // is set to true. ModeOverride *v31.ProcessingMode `protobuf:"bytes,9,opt,name=mode_override,json=modeOverride,proto3" json:"mode_override,omitempty"` // When ext_proc server receives a request message, in case it needs more // time to process the message, it sends back a ProcessingResponse message @@ -857,9 +860,6 @@ type CommonResponse struct { // Instructions on how to manipulate the headers. When responding to an // HttpBody request, header mutations will only take effect if // the current processing mode for the body is BUFFERED. - // [#comment:TODO(yanjunxiang-google) rephrase last sentence once send_body_without_waiting_for_header_response is not hidden: - // the current processing mode for the body is: 1) BUFFERED; 2) or STREAMED and - // the :ref:`send_body_without_waiting_for_header_response ` is enabled.] HeaderMutation *HeaderMutation `protobuf:"bytes,2,opt,name=header_mutation,json=headerMutation,proto3" json:"header_mutation,omitempty"` // Replace the body of the last message sent to the remote server on this // stream. If responding to an HttpBody request, simply replace or clear