ext_procv3

package
v1.36.11-2026011520535... Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: unknown License: Apache-2.0 Imports: 13 Imported by: 3

Documentation

Index

Constants

View Source
const BodyMutation_Body_case case_BodyMutation_Mutation = 1
View Source
const BodyMutation_ClearBody_case case_BodyMutation_Mutation = 2
View Source
const BodyMutation_Mutation_not_set_case case_BodyMutation_Mutation = 0
View Source
const BodyMutation_StreamedResponse_case case_BodyMutation_Mutation = 3
View Source
const ProcessingRequest_RequestBody_case case_ProcessingRequest_Request = 4
View Source
const ProcessingRequest_RequestHeaders_case case_ProcessingRequest_Request = 2
View Source
const ProcessingRequest_RequestTrailers_case case_ProcessingRequest_Request = 6
View Source
const ProcessingRequest_Request_not_set_case case_ProcessingRequest_Request = 0
View Source
const ProcessingRequest_ResponseBody_case case_ProcessingRequest_Request = 5
View Source
const ProcessingRequest_ResponseHeaders_case case_ProcessingRequest_Request = 3
View Source
const ProcessingRequest_ResponseTrailers_case case_ProcessingRequest_Request = 7
View Source
const ProcessingResponse_ImmediateResponse_case case_ProcessingResponse_Response = 7
View Source
const ProcessingResponse_RequestBody_case case_ProcessingResponse_Response = 3
View Source
const ProcessingResponse_RequestHeaders_case case_ProcessingResponse_Response = 1
View Source
const ProcessingResponse_RequestTrailers_case case_ProcessingResponse_Response = 5
View Source
const ProcessingResponse_ResponseBody_case case_ProcessingResponse_Response = 4
View Source
const ProcessingResponse_ResponseHeaders_case case_ProcessingResponse_Response = 2
View Source
const ProcessingResponse_ResponseTrailers_case case_ProcessingResponse_Response = 6
View Source
const ProcessingResponse_Response_not_set_case case_ProcessingResponse_Response = 0
View Source
const ProcessingResponse_StreamedImmediateResponse_case case_ProcessingResponse_Response = 11
View Source
const StreamedImmediateResponse_BodyResponse_case case_StreamedImmediateResponse_Response = 2
View Source
const StreamedImmediateResponse_HeadersResponse_case case_StreamedImmediateResponse_Response = 1
View Source
const StreamedImmediateResponse_Response_not_set_case case_StreamedImmediateResponse_Response = 0
View Source
const StreamedImmediateResponse_TrailersResponse_case case_StreamedImmediateResponse_Response = 3

Variables

View Source
var (
	CommonResponse_ResponseStatus_name = map[int32]string{
		0: "CONTINUE",
		1: "CONTINUE_AND_REPLACE",
	}
	CommonResponse_ResponseStatus_value = map[string]int32{
		"CONTINUE":             0,
		"CONTINUE_AND_REPLACE": 1,
	}
)

Enum value maps for CommonResponse_ResponseStatus.

View Source
var File_envoy_service_ext_proc_v3_external_processor_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type BodyMutation

type BodyMutation struct {

	// The type of mutation for the body.
	//
	// Types that are valid to be assigned to Mutation:
	//
	//	*BodyMutation_Body
	//	*BodyMutation_ClearBody
	//	*BodyMutation_StreamedResponse
	Mutation isBodyMutation_Mutation `protobuf_oneof:"mutation"`
	// contains filtered or unexported fields
}

This message specifies the body mutation the server sends to the data plane.

func (*BodyMutation) ClearClearBody

func (x *BodyMutation) ClearClearBody()

func (*BodyMutation) ClearMutation

func (x *BodyMutation) ClearMutation()

func (*BodyMutation) ClearStreamedResponse

func (x *BodyMutation) ClearStreamedResponse()

func (*BodyMutation) Clear_Body

func (x *BodyMutation) Clear_Body()

func (*BodyMutation) GetBody deprecated

func (x *BodyMutation) GetBody() []byte

Deprecated: Use Get_Body instead.

func (*BodyMutation) GetClearBody

func (x *BodyMutation) GetClearBody() bool

func (*BodyMutation) GetMutation

func (x *BodyMutation) GetMutation() isBodyMutation_Mutation

func (*BodyMutation) GetStreamedResponse

func (x *BodyMutation) GetStreamedResponse() *StreamedBodyResponse

func (*BodyMutation) Get_Body

func (x *BodyMutation) Get_Body() []byte

func (*BodyMutation) HasClearBody

func (x *BodyMutation) HasClearBody() bool

func (*BodyMutation) HasMutation

func (x *BodyMutation) HasMutation() bool

func (*BodyMutation) HasStreamedResponse

func (x *BodyMutation) HasStreamedResponse() bool

func (*BodyMutation) Has_Body

func (x *BodyMutation) Has_Body() bool

func (*BodyMutation) ProtoMessage

func (*BodyMutation) ProtoMessage()

func (*BodyMutation) ProtoReflect

func (x *BodyMutation) ProtoReflect() protoreflect.Message

func (*BodyMutation) Reset

func (x *BodyMutation) Reset()

func (*BodyMutation) SetClearBody

func (x *BodyMutation) SetClearBody(v bool)

func (*BodyMutation) SetStreamedResponse

func (x *BodyMutation) SetStreamedResponse(v *StreamedBodyResponse)

func (*BodyMutation) Set_Body

func (x *BodyMutation) Set_Body(v []byte)

func (*BodyMutation) String

func (x *BodyMutation) String() string

func (*BodyMutation) WhichMutation

func (x *BodyMutation) WhichMutation() case_BodyMutation_Mutation

type BodyMutation_Body

type BodyMutation_Body struct {
	// The entire body to replace.
	// Should only be used when the corresponding “BodySendMode“ in the
	// :ref:`processing_mode <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.processing_mode>`
	// is not set to “FULL_DUPLEX_STREAMED“ or “GRPC“.
	Body []byte `protobuf:"bytes,1,opt,name=body,proto3,oneof"`
}

type BodyMutation_ClearBody

type BodyMutation_ClearBody struct {
	// Clear the corresponding body chunk.
	// Should only be used when the corresponding “BodySendMode“ in the
	// :ref:`processing_mode <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.processing_mode>`
	// is not set to “FULL_DUPLEX_STREAMED“ or “GRPC“.
	// Clear the corresponding body chunk.
	ClearBody bool `protobuf:"varint,2,opt,name=clear_body,json=clearBody,proto3,oneof"`
}

type BodyMutation_StreamedResponse

type BodyMutation_StreamedResponse struct {
	// Must be used when the corresponding “BodySendMode“ in the
	// :ref:`processing_mode <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.processing_mode>`
	// is set to “FULL_DUPLEX_STREAMED“ or “GRPC“.
	StreamedResponse *StreamedBodyResponse `protobuf:"bytes,3,opt,name=streamed_response,json=streamedResponse,proto3,oneof"`
}

type BodyMutation_builder

type BodyMutation_builder struct {

	// Fields of oneof Mutation:
	// The entire body to replace.
	// Should only be used when the corresponding “BodySendMode“ in the
	// :ref:`processing_mode <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.processing_mode>`
	// is not set to “FULL_DUPLEX_STREAMED“ or “GRPC“.
	Body []byte
	// Clear the corresponding body chunk.
	// Should only be used when the corresponding “BodySendMode“ in the
	// :ref:`processing_mode <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.processing_mode>`
	// is not set to “FULL_DUPLEX_STREAMED“ or “GRPC“.
	// Clear the corresponding body chunk.
	ClearBody *bool
	// Must be used when the corresponding “BodySendMode“ in the
	// :ref:`processing_mode <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.processing_mode>`
	// is set to “FULL_DUPLEX_STREAMED“ or “GRPC“.
	StreamedResponse *StreamedBodyResponse
	// contains filtered or unexported fields
}

func (BodyMutation_builder) Build

func (b0 BodyMutation_builder) Build() *BodyMutation

type BodyResponse

type BodyResponse struct {

	// Details the modifications (if any) to be made by the data plane to the current
	// request/response.
	Response *CommonResponse `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"`
	// contains filtered or unexported fields
}

This message is sent by the external server to the data plane after “HttpBody“ was sent to it.

func (*BodyResponse) ClearResponse

func (x *BodyResponse) ClearResponse()

func (*BodyResponse) GetResponse

func (x *BodyResponse) GetResponse() *CommonResponse

func (*BodyResponse) HasResponse

func (x *BodyResponse) HasResponse() bool

func (*BodyResponse) ProtoMessage

func (*BodyResponse) ProtoMessage()

func (*BodyResponse) ProtoReflect

func (x *BodyResponse) ProtoReflect() protoreflect.Message

func (*BodyResponse) Reset

func (x *BodyResponse) Reset()

func (*BodyResponse) SetResponse

func (x *BodyResponse) SetResponse(v *CommonResponse)

func (*BodyResponse) String

func (x *BodyResponse) String() string

type BodyResponse_builder

type BodyResponse_builder struct {

	// Details the modifications (if any) to be made by the data plane to the current
	// request/response.
	Response *CommonResponse
	// contains filtered or unexported fields
}

func (BodyResponse_builder) Build

func (b0 BodyResponse_builder) Build() *BodyResponse

type CommonResponse

type CommonResponse struct {

	// If set, provide additional direction on how the data plane should
	// handle the rest of the HTTP filter chain.
	Status CommonResponse_ResponseStatus `` /* 127-byte string literal not displayed */
	// 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.
	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
	// the body chunk that was sent with that request. Body mutations may take
	// effect in response either to “header“ or “body“ messages. When it is
	// in response to “header“ messages, it only take effect if the
	// :ref:`status <envoy_v3_api_field_service.ext_proc.v3.CommonResponse.status>`
	// is set to CONTINUE_AND_REPLACE.
	BodyMutation *BodyMutation `protobuf:"bytes,3,opt,name=body_mutation,json=bodyMutation,proto3" json:"body_mutation,omitempty"`
	// [#not-implemented-hide:]
	// Add new trailers to the message. This may be used when responding to either a
	// HttpHeaders or HttpBody message, but only if this message is returned
	// along with the CONTINUE_AND_REPLACE status.
	// The header value is encoded in the
	// :ref:`raw_value <envoy_v3_api_field_config.core.v3.HeaderValue.raw_value>` field.
	Trailers *v31.HeaderMap `protobuf:"bytes,4,opt,name=trailers,proto3" json:"trailers,omitempty"`
	// Clear the route cache for the current client request. This is necessary
	// if the remote server modified headers that are used to calculate the route.
	// This field is ignored in the response direction. This field is also ignored
	// if the data plane ext_proc filter is in the upstream filter chain.
	ClearRouteCache bool `protobuf:"varint,5,opt,name=clear_route_cache,json=clearRouteCache,proto3" json:"clear_route_cache,omitempty"`
	// contains filtered or unexported fields
}

This message contains common fields between header and body responses. [#next-free-field: 6]

func (*CommonResponse) ClearBodyMutation

func (x *CommonResponse) ClearBodyMutation()

func (*CommonResponse) ClearHeaderMutation

func (x *CommonResponse) ClearHeaderMutation()

func (*CommonResponse) ClearTrailers

func (x *CommonResponse) ClearTrailers()

func (*CommonResponse) GetBodyMutation

func (x *CommonResponse) GetBodyMutation() *BodyMutation

func (*CommonResponse) GetClearRouteCache

func (x *CommonResponse) GetClearRouteCache() bool

func (*CommonResponse) GetHeaderMutation

func (x *CommonResponse) GetHeaderMutation() *HeaderMutation

func (*CommonResponse) GetStatus

func (*CommonResponse) GetTrailers

func (x *CommonResponse) GetTrailers() *v31.HeaderMap

func (*CommonResponse) HasBodyMutation

func (x *CommonResponse) HasBodyMutation() bool

func (*CommonResponse) HasHeaderMutation

func (x *CommonResponse) HasHeaderMutation() bool

func (*CommonResponse) HasTrailers

func (x *CommonResponse) HasTrailers() bool

func (*CommonResponse) ProtoMessage

func (*CommonResponse) ProtoMessage()

func (*CommonResponse) ProtoReflect

func (x *CommonResponse) ProtoReflect() protoreflect.Message

func (*CommonResponse) Reset

func (x *CommonResponse) Reset()

func (*CommonResponse) SetBodyMutation

func (x *CommonResponse) SetBodyMutation(v *BodyMutation)

func (*CommonResponse) SetClearRouteCache

func (x *CommonResponse) SetClearRouteCache(v bool)

func (*CommonResponse) SetHeaderMutation

func (x *CommonResponse) SetHeaderMutation(v *HeaderMutation)

func (*CommonResponse) SetStatus

func (*CommonResponse) SetTrailers

func (x *CommonResponse) SetTrailers(v *v31.HeaderMap)

func (*CommonResponse) String

func (x *CommonResponse) String() string

type CommonResponse_ResponseStatus

type CommonResponse_ResponseStatus int32

The status of the response.

const (
	// Apply the mutation instructions in this message to the
	// request or response, and then continue processing the filter
	// stream as normal. This is the default.
	CommonResponse_CONTINUE CommonResponse_ResponseStatus = 0
	// Apply the specified header mutation, replace the body with the body
	// specified in the body mutation (if present), and do not send any
	// further messages for this request or response even if the processing
	// mode is configured to do so.
	//
	// When used in response to a request_headers or response_headers message,
	// this status makes it possible to either completely replace the body
	// while discarding the original body, or to add a body to a message that
	// formerly did not have one.
	//
	// In other words, this response makes it possible to turn an HTTP GET
	// into a POST, PUT, or PATCH.
	//
	// Not supported if the body send mode is “GRPC“.
	CommonResponse_CONTINUE_AND_REPLACE CommonResponse_ResponseStatus = 1
)

func (CommonResponse_ResponseStatus) Descriptor

func (CommonResponse_ResponseStatus) Enum

func (CommonResponse_ResponseStatus) Number

func (CommonResponse_ResponseStatus) String

func (CommonResponse_ResponseStatus) Type

type CommonResponse_builder

type CommonResponse_builder struct {

	// If set, provide additional direction on how the data plane should
	// handle the rest of the HTTP filter chain.
	Status CommonResponse_ResponseStatus
	// 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.
	HeaderMutation *HeaderMutation
	// 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
	// the body chunk that was sent with that request. Body mutations may take
	// effect in response either to “header“ or “body“ messages. When it is
	// in response to “header“ messages, it only take effect if the
	// :ref:`status <envoy_v3_api_field_service.ext_proc.v3.CommonResponse.status>`
	// is set to CONTINUE_AND_REPLACE.
	BodyMutation *BodyMutation
	// [#not-implemented-hide:]
	// Add new trailers to the message. This may be used when responding to either a
	// HttpHeaders or HttpBody message, but only if this message is returned
	// along with the CONTINUE_AND_REPLACE status.
	// The header value is encoded in the
	// :ref:`raw_value <envoy_v3_api_field_config.core.v3.HeaderValue.raw_value>` field.
	Trailers *v31.HeaderMap
	// Clear the route cache for the current client request. This is necessary
	// if the remote server modified headers that are used to calculate the route.
	// This field is ignored in the response direction. This field is also ignored
	// if the data plane ext_proc filter is in the upstream filter chain.
	ClearRouteCache bool
	// contains filtered or unexported fields
}

func (CommonResponse_builder) Build

type GrpcStatus

type GrpcStatus struct {

	// The actual gRPC status.
	Status uint32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
	// contains filtered or unexported fields
}

This message specifies a gRPC status for an ImmediateResponse message.

func (*GrpcStatus) GetStatus

func (x *GrpcStatus) GetStatus() uint32

func (*GrpcStatus) ProtoMessage

func (*GrpcStatus) ProtoMessage()

func (*GrpcStatus) ProtoReflect

func (x *GrpcStatus) ProtoReflect() protoreflect.Message

func (*GrpcStatus) Reset

func (x *GrpcStatus) Reset()

func (*GrpcStatus) SetStatus

func (x *GrpcStatus) SetStatus(v uint32)

func (*GrpcStatus) String

func (x *GrpcStatus) String() string

type GrpcStatus_builder

type GrpcStatus_builder struct {

	// The actual gRPC status.
	Status uint32
	// contains filtered or unexported fields
}

func (GrpcStatus_builder) Build

func (b0 GrpcStatus_builder) Build() *GrpcStatus

type HeaderMutation

type HeaderMutation struct {

	// Add or replace HTTP headers. Attempts to set the value of
	// any “x-envoy“ header, and attempts to set the “:method“,
	// “:authority“, “:scheme“, or “host“ headers will be ignored.
	// The header value is encoded in the
	// :ref:`raw_value <envoy_v3_api_field_config.core.v3.HeaderValue.raw_value>` field.
	SetHeaders []*v31.HeaderValueOption `protobuf:"bytes,1,rep,name=set_headers,json=setHeaders,proto3" json:"set_headers,omitempty"`
	// Remove these HTTP headers. Attempts to remove system headers --
	// any header starting with “:“, plus “host“ -- will be ignored.
	RemoveHeaders []string `protobuf:"bytes,2,rep,name=remove_headers,json=removeHeaders,proto3" json:"remove_headers,omitempty"`
	// contains filtered or unexported fields
}

Change HTTP headers or trailers by appending, replacing, or removing headers.

func (*HeaderMutation) GetRemoveHeaders

func (x *HeaderMutation) GetRemoveHeaders() []string

func (*HeaderMutation) GetSetHeaders

func (x *HeaderMutation) GetSetHeaders() []*v31.HeaderValueOption

func (*HeaderMutation) ProtoMessage

func (*HeaderMutation) ProtoMessage()

func (*HeaderMutation) ProtoReflect

func (x *HeaderMutation) ProtoReflect() protoreflect.Message

func (*HeaderMutation) Reset

func (x *HeaderMutation) Reset()

func (*HeaderMutation) SetRemoveHeaders

func (x *HeaderMutation) SetRemoveHeaders(v []string)

func (*HeaderMutation) SetSetHeaders

func (x *HeaderMutation) SetSetHeaders(v []*v31.HeaderValueOption)

func (*HeaderMutation) String

func (x *HeaderMutation) String() string

type HeaderMutation_builder

type HeaderMutation_builder struct {

	// Add or replace HTTP headers. Attempts to set the value of
	// any “x-envoy“ header, and attempts to set the “:method“,
	// “:authority“, “:scheme“, or “host“ headers will be ignored.
	// The header value is encoded in the
	// :ref:`raw_value <envoy_v3_api_field_config.core.v3.HeaderValue.raw_value>` field.
	SetHeaders []*v31.HeaderValueOption
	// Remove these HTTP headers. Attempts to remove system headers --
	// any header starting with “:“, plus “host“ -- will be ignored.
	RemoveHeaders []string
	// contains filtered or unexported fields
}

func (HeaderMutation_builder) Build

type HeadersResponse

type HeadersResponse struct {

	// Details the modifications (if any) to be made by the data plane to the current
	// request/response.
	Response *CommonResponse `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"`
	// contains filtered or unexported fields
}

This message is sent by the external server to the data plane after “HttpHeaders“ was sent to it.

func (*HeadersResponse) ClearResponse

func (x *HeadersResponse) ClearResponse()

func (*HeadersResponse) GetResponse

func (x *HeadersResponse) GetResponse() *CommonResponse

func (*HeadersResponse) HasResponse

func (x *HeadersResponse) HasResponse() bool

func (*HeadersResponse) ProtoMessage

func (*HeadersResponse) ProtoMessage()

func (*HeadersResponse) ProtoReflect

func (x *HeadersResponse) ProtoReflect() protoreflect.Message

func (*HeadersResponse) Reset

func (x *HeadersResponse) Reset()

func (*HeadersResponse) SetResponse

func (x *HeadersResponse) SetResponse(v *CommonResponse)

func (*HeadersResponse) String

func (x *HeadersResponse) String() string

type HeadersResponse_builder

type HeadersResponse_builder struct {

	// Details the modifications (if any) to be made by the data plane to the current
	// request/response.
	Response *CommonResponse
	// contains filtered or unexported fields
}

func (HeadersResponse_builder) Build

type HttpBody

type HttpBody struct {

	// The contents of the body in the HTTP request/response. Note that in
	// streaming mode multiple “HttpBody“ messages may be sent.
	//
	// In “GRPC“ body send mode, a separate “HttpBody“ message will be
	// sent for each message in the gRPC stream.
	Body []byte `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
	// If “true“, this will be the last “HttpBody“ message that will be sent and no
	// trailers will be sent for the current request/response.
	EndOfStream bool `protobuf:"varint,2,opt,name=end_of_stream,json=endOfStream,proto3" json:"end_of_stream,omitempty"`
	// This field is used in “GRPC“ body send mode when “end_of_stream“ is
	// true and “body“ is empty. Those values would normally indicate an
	// empty message on the stream with the end-of-stream bit set.
	// However, if the half-close happens after the last message on the
	// stream was already sent, then this field will be true to indicate an
	// end-of-stream with *no* message (as opposed to an empty message).
	EndOfStreamWithoutMessage bool `` /* 143-byte string literal not displayed */
	// This field is used in “GRPC“ body send mode to indicate whether
	// the message is compressed. This will never be set to true by gRPC
	// but may be set to true by a proxy like Envoy.
	GrpcMessageCompressed bool `` /* 127-byte string literal not displayed */
	// contains filtered or unexported fields
}

This message is sent to the external server when the HTTP request and response bodies are received.

func (*HttpBody) GetBody

func (x *HttpBody) GetBody() []byte

func (*HttpBody) GetEndOfStream

func (x *HttpBody) GetEndOfStream() bool

func (*HttpBody) GetEndOfStreamWithoutMessage

func (x *HttpBody) GetEndOfStreamWithoutMessage() bool

func (*HttpBody) GetGrpcMessageCompressed

func (x *HttpBody) GetGrpcMessageCompressed() bool

func (*HttpBody) ProtoMessage

func (*HttpBody) ProtoMessage()

func (*HttpBody) ProtoReflect

func (x *HttpBody) ProtoReflect() protoreflect.Message

func (*HttpBody) Reset

func (x *HttpBody) Reset()

func (*HttpBody) SetBody

func (x *HttpBody) SetBody(v []byte)

func (*HttpBody) SetEndOfStream

func (x *HttpBody) SetEndOfStream(v bool)

func (*HttpBody) SetEndOfStreamWithoutMessage

func (x *HttpBody) SetEndOfStreamWithoutMessage(v bool)

func (*HttpBody) SetGrpcMessageCompressed

func (x *HttpBody) SetGrpcMessageCompressed(v bool)

func (*HttpBody) String

func (x *HttpBody) String() string

type HttpBody_builder

type HttpBody_builder struct {

	// The contents of the body in the HTTP request/response. Note that in
	// streaming mode multiple “HttpBody“ messages may be sent.
	//
	// In “GRPC“ body send mode, a separate “HttpBody“ message will be
	// sent for each message in the gRPC stream.
	Body []byte
	// If “true“, this will be the last “HttpBody“ message that will be sent and no
	// trailers will be sent for the current request/response.
	EndOfStream bool
	// This field is used in “GRPC“ body send mode when “end_of_stream“ is
	// true and “body“ is empty. Those values would normally indicate an
	// empty message on the stream with the end-of-stream bit set.
	// However, if the half-close happens after the last message on the
	// stream was already sent, then this field will be true to indicate an
	// end-of-stream with *no* message (as opposed to an empty message).
	EndOfStreamWithoutMessage bool
	// This field is used in “GRPC“ body send mode to indicate whether
	// the message is compressed. This will never be set to true by gRPC
	// but may be set to true by a proxy like Envoy.
	GrpcMessageCompressed bool
	// contains filtered or unexported fields
}

func (HttpBody_builder) Build

func (b0 HttpBody_builder) Build() *HttpBody

type HttpHeaders

type HttpHeaders struct {

	// The HTTP request headers. All header keys will be
	// lower-cased, because HTTP header keys are case-insensitive.
	// The header value is encoded in the
	// :ref:`raw_value <envoy_v3_api_field_config.core.v3.HeaderValue.raw_value>` field.
	Headers *v31.HeaderMap `protobuf:"bytes,1,opt,name=headers,proto3" json:"headers,omitempty"`
	// [#not-implemented-hide:]
	// This field is deprecated and not implemented. Attributes will be sent in
	// the  top-level :ref:`attributes <envoy_v3_api_field_service.ext_proc.v3.ProcessingRequest.attributes`
	// field.
	//
	// Deprecated: Marked as deprecated in envoy/service/ext_proc/v3/external_processor.proto.
	Attributes map[string]*structpb.Struct `` /* 147-byte string literal not displayed */
	// If “true“, then there is no message body associated with this
	// request or response.
	EndOfStream bool `protobuf:"varint,3,opt,name=end_of_stream,json=endOfStream,proto3" json:"end_of_stream,omitempty"`
	// contains filtered or unexported fields
}

This message is sent to the external server when the HTTP request and responses are first received.

func (*HttpHeaders) ClearHeaders

func (x *HttpHeaders) ClearHeaders()

func (*HttpHeaders) GetAttributes deprecated

func (x *HttpHeaders) GetAttributes() map[string]*structpb.Struct

Deprecated: Marked as deprecated in envoy/service/ext_proc/v3/external_processor.proto.

func (*HttpHeaders) GetEndOfStream

func (x *HttpHeaders) GetEndOfStream() bool

func (*HttpHeaders) GetHeaders

func (x *HttpHeaders) GetHeaders() *v31.HeaderMap

func (*HttpHeaders) HasHeaders

func (x *HttpHeaders) HasHeaders() bool

func (*HttpHeaders) ProtoMessage

func (*HttpHeaders) ProtoMessage()

func (*HttpHeaders) ProtoReflect

func (x *HttpHeaders) ProtoReflect() protoreflect.Message

func (*HttpHeaders) Reset

func (x *HttpHeaders) Reset()

func (*HttpHeaders) SetAttributes deprecated

func (x *HttpHeaders) SetAttributes(v map[string]*structpb.Struct)

Deprecated: Marked as deprecated in envoy/service/ext_proc/v3/external_processor.proto.

func (*HttpHeaders) SetEndOfStream

func (x *HttpHeaders) SetEndOfStream(v bool)

func (*HttpHeaders) SetHeaders

func (x *HttpHeaders) SetHeaders(v *v31.HeaderMap)

func (*HttpHeaders) String

func (x *HttpHeaders) String() string

type HttpHeaders_builder

type HttpHeaders_builder struct {

	// The HTTP request headers. All header keys will be
	// lower-cased, because HTTP header keys are case-insensitive.
	// The header value is encoded in the
	// :ref:`raw_value <envoy_v3_api_field_config.core.v3.HeaderValue.raw_value>` field.
	Headers *v31.HeaderMap
	// [#not-implemented-hide:]
	// This field is deprecated and not implemented. Attributes will be sent in
	// the  top-level :ref:`attributes <envoy_v3_api_field_service.ext_proc.v3.ProcessingRequest.attributes`
	// field.
	//
	// Deprecated: Marked as deprecated in envoy/service/ext_proc/v3/external_processor.proto.
	Attributes map[string]*structpb.Struct
	// If “true“, then there is no message body associated with this
	// request or response.
	EndOfStream bool
	// contains filtered or unexported fields
}

func (HttpHeaders_builder) Build

func (b0 HttpHeaders_builder) Build() *HttpHeaders

type HttpTrailers

type HttpTrailers struct {

	// The header value is encoded in the
	// :ref:`raw_value <envoy_v3_api_field_config.core.v3.HeaderValue.raw_value>` field.
	Trailers *v31.HeaderMap `protobuf:"bytes,1,opt,name=trailers,proto3" json:"trailers,omitempty"`
	// contains filtered or unexported fields
}

This message is sent to the external server when the HTTP request and response trailers are received.

func (*HttpTrailers) ClearTrailers

func (x *HttpTrailers) ClearTrailers()

func (*HttpTrailers) GetTrailers

func (x *HttpTrailers) GetTrailers() *v31.HeaderMap

func (*HttpTrailers) HasTrailers

func (x *HttpTrailers) HasTrailers() bool

func (*HttpTrailers) ProtoMessage

func (*HttpTrailers) ProtoMessage()

func (*HttpTrailers) ProtoReflect

func (x *HttpTrailers) ProtoReflect() protoreflect.Message

func (*HttpTrailers) Reset

func (x *HttpTrailers) Reset()

func (*HttpTrailers) SetTrailers

func (x *HttpTrailers) SetTrailers(v *v31.HeaderMap)

func (*HttpTrailers) String

func (x *HttpTrailers) String() string

type HttpTrailers_builder

type HttpTrailers_builder struct {

	// The header value is encoded in the
	// :ref:`raw_value <envoy_v3_api_field_config.core.v3.HeaderValue.raw_value>` field.
	Trailers *v31.HeaderMap
	// contains filtered or unexported fields
}

func (HttpTrailers_builder) Build

func (b0 HttpTrailers_builder) Build() *HttpTrailers

type ImmediateResponse

type ImmediateResponse struct {

	// The response code to return.
	Status *v32.HttpStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	// Apply changes to the default headers, which will include content-type.
	Headers *HeaderMutation `protobuf:"bytes,2,opt,name=headers,proto3" json:"headers,omitempty"`
	// The message body to return with the response which is sent using the
	// text/plain content type, or encoded in the grpc-message header.
	Body []byte `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"`
	// If set, then include a gRPC status trailer.
	GrpcStatus *GrpcStatus `protobuf:"bytes,4,opt,name=grpc_status,json=grpcStatus,proto3" json:"grpc_status,omitempty"`
	// A string detailing why this local reply was sent, which may be included
	// in log and debug output (e.g. this populates the %RESPONSE_CODE_DETAILS%
	// command operator field for use in access logging).
	Details string `protobuf:"bytes,5,opt,name=details,proto3" json:"details,omitempty"`
	// contains filtered or unexported fields
}

This message causes the filter to attempt to create a locally generated response, send it downstream, stop processing additional filters, and ignore any additional messages received from the remote server for this request or response. If a response has already started, then this will either ship the reply directly to the downstream codec, or reset the stream. [#next-free-field: 6]

func (*ImmediateResponse) ClearGrpcStatus

func (x *ImmediateResponse) ClearGrpcStatus()

func (*ImmediateResponse) ClearHeaders

func (x *ImmediateResponse) ClearHeaders()

func (*ImmediateResponse) ClearStatus

func (x *ImmediateResponse) ClearStatus()

func (*ImmediateResponse) GetBody

func (x *ImmediateResponse) GetBody() []byte

func (*ImmediateResponse) GetDetails

func (x *ImmediateResponse) GetDetails() string

func (*ImmediateResponse) GetGrpcStatus

func (x *ImmediateResponse) GetGrpcStatus() *GrpcStatus

func (*ImmediateResponse) GetHeaders

func (x *ImmediateResponse) GetHeaders() *HeaderMutation

func (*ImmediateResponse) GetStatus

func (x *ImmediateResponse) GetStatus() *v32.HttpStatus

func (*ImmediateResponse) HasGrpcStatus

func (x *ImmediateResponse) HasGrpcStatus() bool

func (*ImmediateResponse) HasHeaders

func (x *ImmediateResponse) HasHeaders() bool

func (*ImmediateResponse) HasStatus

func (x *ImmediateResponse) HasStatus() bool

func (*ImmediateResponse) ProtoMessage

func (*ImmediateResponse) ProtoMessage()

func (*ImmediateResponse) ProtoReflect

func (x *ImmediateResponse) ProtoReflect() protoreflect.Message

func (*ImmediateResponse) Reset

func (x *ImmediateResponse) Reset()

func (*ImmediateResponse) SetBody

func (x *ImmediateResponse) SetBody(v []byte)

func (*ImmediateResponse) SetDetails

func (x *ImmediateResponse) SetDetails(v string)

func (*ImmediateResponse) SetGrpcStatus

func (x *ImmediateResponse) SetGrpcStatus(v *GrpcStatus)

func (*ImmediateResponse) SetHeaders

func (x *ImmediateResponse) SetHeaders(v *HeaderMutation)

func (*ImmediateResponse) SetStatus

func (x *ImmediateResponse) SetStatus(v *v32.HttpStatus)

func (*ImmediateResponse) String

func (x *ImmediateResponse) String() string

type ImmediateResponse_builder

type ImmediateResponse_builder struct {

	// The response code to return.
	Status *v32.HttpStatus
	// Apply changes to the default headers, which will include content-type.
	Headers *HeaderMutation
	// The message body to return with the response which is sent using the
	// text/plain content type, or encoded in the grpc-message header.
	Body []byte
	// If set, then include a gRPC status trailer.
	GrpcStatus *GrpcStatus
	// A string detailing why this local reply was sent, which may be included
	// in log and debug output (e.g. this populates the %RESPONSE_CODE_DETAILS%
	// command operator field for use in access logging).
	Details string
	// contains filtered or unexported fields
}

func (ImmediateResponse_builder) Build

type ProcessingRequest

type ProcessingRequest struct {

	// Each request message will include one of the following sub-messages. Which
	// ones are set for a particular HTTP request/response depend on the
	// processing mode.
	//
	// Types that are valid to be assigned to Request:
	//
	//	*ProcessingRequest_RequestHeaders
	//	*ProcessingRequest_ResponseHeaders
	//	*ProcessingRequest_RequestBody
	//	*ProcessingRequest_ResponseBody
	//	*ProcessingRequest_RequestTrailers
	//	*ProcessingRequest_ResponseTrailers
	Request isProcessingRequest_Request `protobuf_oneof:"request"`
	// Dynamic metadata associated with the request.
	MetadataContext *v31.Metadata `protobuf:"bytes,8,opt,name=metadata_context,json=metadataContext,proto3" json:"metadata_context,omitempty"`
	// The values of properties selected by the “request_attributes“
	// or “response_attributes“ list in the configuration. Each entry
	// in the list is populated from the standard
	// :ref:`attributes <arch_overview_attributes>` supported in the data plane.
	Attributes map[string]*structpb.Struct `` /* 147-byte string literal not displayed */
	// Specify whether the filter that sent this request is running in :ref:`observability_mode
	// <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.observability_mode>`
	// and defaults to false.
	//
	//   - A value of “false“ indicates that the server must respond
	//     to this message by either sending back a matching ProcessingResponse message,
	//     or by closing the stream.
	//   - A value of “true“ indicates that the server should not respond to this message, as any
	//     responses will be ignored. However, it may still close the stream to indicate that no more messages
	//     are needed.
	ObservabilityMode bool `protobuf:"varint,10,opt,name=observability_mode,json=observabilityMode,proto3" json:"observability_mode,omitempty"`
	// Specify the filter protocol configurations to be sent to the server.
	// “protocol_config“ is only encoded in the first “ProcessingRequest“ message from the client to the server.
	ProtocolConfig *ProtocolConfiguration `protobuf:"bytes,11,opt,name=protocol_config,json=protocolConfig,proto3" json:"protocol_config,omitempty"`
	// contains filtered or unexported fields
}

This represents the different types of messages that the data plane can send to an external processing server. [#next-free-field: 12]

func (*ProcessingRequest) ClearMetadataContext

func (x *ProcessingRequest) ClearMetadataContext()

func (*ProcessingRequest) ClearProtocolConfig

func (x *ProcessingRequest) ClearProtocolConfig()

func (*ProcessingRequest) ClearRequest

func (x *ProcessingRequest) ClearRequest()

func (*ProcessingRequest) ClearRequestBody

func (x *ProcessingRequest) ClearRequestBody()

func (*ProcessingRequest) ClearRequestHeaders

func (x *ProcessingRequest) ClearRequestHeaders()

func (*ProcessingRequest) ClearRequestTrailers

func (x *ProcessingRequest) ClearRequestTrailers()

func (*ProcessingRequest) ClearResponseBody

func (x *ProcessingRequest) ClearResponseBody()

func (*ProcessingRequest) ClearResponseHeaders

func (x *ProcessingRequest) ClearResponseHeaders()

func (*ProcessingRequest) ClearResponseTrailers

func (x *ProcessingRequest) ClearResponseTrailers()

func (*ProcessingRequest) GetAttributes

func (x *ProcessingRequest) GetAttributes() map[string]*structpb.Struct

func (*ProcessingRequest) GetMetadataContext

func (x *ProcessingRequest) GetMetadataContext() *v31.Metadata

func (*ProcessingRequest) GetObservabilityMode

func (x *ProcessingRequest) GetObservabilityMode() bool

func (*ProcessingRequest) GetProtocolConfig

func (x *ProcessingRequest) GetProtocolConfig() *ProtocolConfiguration

func (*ProcessingRequest) GetRequest

func (x *ProcessingRequest) GetRequest() isProcessingRequest_Request

func (*ProcessingRequest) GetRequestBody

func (x *ProcessingRequest) GetRequestBody() *HttpBody

func (*ProcessingRequest) GetRequestHeaders

func (x *ProcessingRequest) GetRequestHeaders() *HttpHeaders

func (*ProcessingRequest) GetRequestTrailers

func (x *ProcessingRequest) GetRequestTrailers() *HttpTrailers

func (*ProcessingRequest) GetResponseBody

func (x *ProcessingRequest) GetResponseBody() *HttpBody

func (*ProcessingRequest) GetResponseHeaders

func (x *ProcessingRequest) GetResponseHeaders() *HttpHeaders

func (*ProcessingRequest) GetResponseTrailers

func (x *ProcessingRequest) GetResponseTrailers() *HttpTrailers

func (*ProcessingRequest) HasMetadataContext

func (x *ProcessingRequest) HasMetadataContext() bool

func (*ProcessingRequest) HasProtocolConfig

func (x *ProcessingRequest) HasProtocolConfig() bool

func (*ProcessingRequest) HasRequest

func (x *ProcessingRequest) HasRequest() bool

func (*ProcessingRequest) HasRequestBody

func (x *ProcessingRequest) HasRequestBody() bool

func (*ProcessingRequest) HasRequestHeaders

func (x *ProcessingRequest) HasRequestHeaders() bool

func (*ProcessingRequest) HasRequestTrailers

func (x *ProcessingRequest) HasRequestTrailers() bool

func (*ProcessingRequest) HasResponseBody

func (x *ProcessingRequest) HasResponseBody() bool

func (*ProcessingRequest) HasResponseHeaders

func (x *ProcessingRequest) HasResponseHeaders() bool

func (*ProcessingRequest) HasResponseTrailers

func (x *ProcessingRequest) HasResponseTrailers() bool

func (*ProcessingRequest) ProtoMessage

func (*ProcessingRequest) ProtoMessage()

func (*ProcessingRequest) ProtoReflect

func (x *ProcessingRequest) ProtoReflect() protoreflect.Message

func (*ProcessingRequest) Reset

func (x *ProcessingRequest) Reset()

func (*ProcessingRequest) SetAttributes

func (x *ProcessingRequest) SetAttributes(v map[string]*structpb.Struct)

func (*ProcessingRequest) SetMetadataContext

func (x *ProcessingRequest) SetMetadataContext(v *v31.Metadata)

func (*ProcessingRequest) SetObservabilityMode

func (x *ProcessingRequest) SetObservabilityMode(v bool)

func (*ProcessingRequest) SetProtocolConfig

func (x *ProcessingRequest) SetProtocolConfig(v *ProtocolConfiguration)

func (*ProcessingRequest) SetRequestBody

func (x *ProcessingRequest) SetRequestBody(v *HttpBody)

func (*ProcessingRequest) SetRequestHeaders

func (x *ProcessingRequest) SetRequestHeaders(v *HttpHeaders)

func (*ProcessingRequest) SetRequestTrailers

func (x *ProcessingRequest) SetRequestTrailers(v *HttpTrailers)

func (*ProcessingRequest) SetResponseBody

func (x *ProcessingRequest) SetResponseBody(v *HttpBody)

func (*ProcessingRequest) SetResponseHeaders

func (x *ProcessingRequest) SetResponseHeaders(v *HttpHeaders)

func (*ProcessingRequest) SetResponseTrailers

func (x *ProcessingRequest) SetResponseTrailers(v *HttpTrailers)

func (*ProcessingRequest) String

func (x *ProcessingRequest) String() string

func (*ProcessingRequest) WhichRequest

func (x *ProcessingRequest) WhichRequest() case_ProcessingRequest_Request

type ProcessingRequest_RequestBody

type ProcessingRequest_RequestBody struct {
	// A chunk of the HTTP request body. Unless “observability_mode“ is true, the server must send back
	// a BodyResponse message, an ImmediateResponse message, or close the stream.
	RequestBody *HttpBody `protobuf:"bytes,4,opt,name=request_body,json=requestBody,proto3,oneof"`
}

type ProcessingRequest_RequestHeaders

type ProcessingRequest_RequestHeaders struct {
	// Information about the HTTP request headers, as well as peer info and additional
	// properties. Unless “observability_mode“ is “true“, the server must send back a
	// HeaderResponse message, an ImmediateResponse message, or close the stream.
	RequestHeaders *HttpHeaders `protobuf:"bytes,2,opt,name=request_headers,json=requestHeaders,proto3,oneof"`
}

type ProcessingRequest_RequestTrailers

type ProcessingRequest_RequestTrailers struct {
	// The HTTP trailers for the request path. Unless “observability_mode“ is “true“, the server
	// must send back a TrailerResponse message or close the stream.
	//
	// This message is only sent if the trailers processing mode is set to “SEND“ and
	// the original downstream request has trailers.
	RequestTrailers *HttpTrailers `protobuf:"bytes,6,opt,name=request_trailers,json=requestTrailers,proto3,oneof"`
}

type ProcessingRequest_ResponseBody

type ProcessingRequest_ResponseBody struct {
	// A chunk of the HTTP response body. Unless “observability_mode“ is “true“, the server must send back
	// a BodyResponse message or close the stream.
	ResponseBody *HttpBody `protobuf:"bytes,5,opt,name=response_body,json=responseBody,proto3,oneof"`
}

type ProcessingRequest_ResponseHeaders

type ProcessingRequest_ResponseHeaders struct {
	// Information about the HTTP response headers, as well as peer info and additional
	// properties. Unless “observability_mode“ is “true“, the server must send back a
	// HeaderResponse message or close the stream.
	ResponseHeaders *HttpHeaders `protobuf:"bytes,3,opt,name=response_headers,json=responseHeaders,proto3,oneof"`
}

type ProcessingRequest_ResponseTrailers

type ProcessingRequest_ResponseTrailers struct {
	// The HTTP trailers for the response path. Unless “observability_mode“ is “true“, the server
	// must send back a TrailerResponse message or close the stream.
	//
	// This message is only sent if the trailers processing mode is set to “SEND“ and
	// the original upstream response has trailers.
	ResponseTrailers *HttpTrailers `protobuf:"bytes,7,opt,name=response_trailers,json=responseTrailers,proto3,oneof"`
}

type ProcessingRequest_builder

type ProcessingRequest_builder struct {

	// Fields of oneof Request:
	// Information about the HTTP request headers, as well as peer info and additional
	// properties. Unless “observability_mode“ is “true“, the server must send back a
	// HeaderResponse message, an ImmediateResponse message, or close the stream.
	RequestHeaders *HttpHeaders
	// Information about the HTTP response headers, as well as peer info and additional
	// properties. Unless “observability_mode“ is “true“, the server must send back a
	// HeaderResponse message or close the stream.
	ResponseHeaders *HttpHeaders
	// A chunk of the HTTP request body. Unless “observability_mode“ is true, the server must send back
	// a BodyResponse message, an ImmediateResponse message, or close the stream.
	RequestBody *HttpBody
	// A chunk of the HTTP response body. Unless “observability_mode“ is “true“, the server must send back
	// a BodyResponse message or close the stream.
	ResponseBody *HttpBody
	// The HTTP trailers for the request path. Unless “observability_mode“ is “true“, the server
	// must send back a TrailerResponse message or close the stream.
	//
	// This message is only sent if the trailers processing mode is set to “SEND“ and
	// the original downstream request has trailers.
	RequestTrailers *HttpTrailers
	// The HTTP trailers for the response path. Unless “observability_mode“ is “true“, the server
	// must send back a TrailerResponse message or close the stream.
	//
	// This message is only sent if the trailers processing mode is set to “SEND“ and
	// the original upstream response has trailers.
	ResponseTrailers *HttpTrailers
	// -- end of Request
	// Dynamic metadata associated with the request.
	MetadataContext *v31.Metadata
	// The values of properties selected by the “request_attributes“
	// or “response_attributes“ list in the configuration. Each entry
	// in the list is populated from the standard
	// :ref:`attributes <arch_overview_attributes>` supported in the data plane.
	Attributes map[string]*structpb.Struct
	// Specify whether the filter that sent this request is running in :ref:`observability_mode
	// <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.observability_mode>`
	// and defaults to false.
	//
	//   - A value of “false“ indicates that the server must respond
	//     to this message by either sending back a matching ProcessingResponse message,
	//     or by closing the stream.
	//   - A value of “true“ indicates that the server should not respond to this message, as any
	//     responses will be ignored. However, it may still close the stream to indicate that no more messages
	//     are needed.
	ObservabilityMode bool
	// Specify the filter protocol configurations to be sent to the server.
	// “protocol_config“ is only encoded in the first “ProcessingRequest“ message from the client to the server.
	ProtocolConfig *ProtocolConfiguration
	// contains filtered or unexported fields
}

func (ProcessingRequest_builder) Build

type ProcessingResponse

type ProcessingResponse struct {

	// The response type that is sent by the server.
	//
	// Types that are valid to be assigned to Response:
	//
	//	*ProcessingResponse_RequestHeaders
	//	*ProcessingResponse_ResponseHeaders
	//	*ProcessingResponse_RequestBody
	//	*ProcessingResponse_ResponseBody
	//	*ProcessingResponse_RequestTrailers
	//	*ProcessingResponse_ResponseTrailers
	//	*ProcessingResponse_ImmediateResponse
	//	*ProcessingResponse_StreamedImmediateResponse
	Response isProcessingResponse_Response `protobuf_oneof:"response"`
	// Optional metadata that will be emitted as dynamic metadata to be consumed by
	// following filters. This metadata will be placed in the namespace(s) specified by the top-level
	// field name(s) of the struct.
	DynamicMetadata *structpb.Struct `protobuf:"bytes,8,opt,name=dynamic_metadata,json=dynamicMetadata,proto3" json:"dynamic_metadata,omitempty"`
	// Override how parts of the HTTP request and response are processed
	// for the duration of this particular request/response only. Servers
	// may use this to intelligently control how requests are processed
	// based on the headers and other metadata that they see.
	// This field is only applicable when servers responding to the header requests.
	// If it is set in the response to the body or trailer requests, it will be ignored by the data plane.
	// It is also ignored by the data plane when the ext_proc filter config
	// :ref:`allow_mode_override
	// <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.allow_mode_override>`
	// is set to false, or
	// :ref:`send_body_without_waiting_for_header_response
	// <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.send_body_without_waiting_for_header_response>`
	// is set to true.
	ModeOverride *v3.ProcessingMode `protobuf:"bytes,9,opt,name=mode_override,json=modeOverride,proto3" json:"mode_override,omitempty"`
	// [#not-implemented-hide:]
	// Used only in “FULL_DUPLEX_STREAMED“ and “GRPC“ body send modes.
	// Instructs the data plane to stop sending body data and to send a
	// half-close on the ext_proc stream. The ext_proc server should then echo
	// back all subsequent body contents as-is until it sees the client's
	// half-close, at which point the ext_proc server can terminate the stream
	// with an OK status. This provides a safe way for the ext_proc server
	// to indicate that it does not need to see the rest of the stream;
	// without this, the ext_proc server could not terminate the stream
	// early, because it would wind up dropping any body contents that the
	// client had already sent before it saw the ext_proc stream termination.
	RequestDrain bool `protobuf:"varint,12,opt,name=request_drain,json=requestDrain,proto3" json:"request_drain,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
	// with a new timeout value. When the data plane receives this response
	// message, it ignores other fields in the response, just stop the original
	// timer, which has the timeout value specified in
	// :ref:`message_timeout
	// <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.message_timeout>`
	// and start a new timer with this “override_message_timeout“ value and keep the
	// data plane ext_proc filter state machine intact.
	// Has to be >= 1ms and <=
	// :ref:`max_message_timeout <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.max_message_timeout>`
	// Such message can be sent at most once in a particular data plane ext_proc filter processing state.
	// To enable this API, one has to set “max_message_timeout“ to a number >= 1ms.
	OverrideMessageTimeout *durationpb.Duration `` /* 130-byte string literal not displayed */
	// contains filtered or unexported fields
}

This represents the different types of messages the server may send back to the data plane when the “observability_mode“ field in the received ProcessingRequest is set to false.

  • If the corresponding “BodySendMode“ in the :ref:`processing_mode <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.processing_mode>` is not set to “FULL_DUPLEX_STREAMED“, then for every received ProcessingRequest, the server must send back exactly one ProcessingResponse message.
  • If it is set to “FULL_DUPLEX_STREAMED“, the server must follow the API defined for this mode to send the ProcessingResponse messages.

[#next-free-field: 13]

func (*ProcessingResponse) ClearDynamicMetadata

func (x *ProcessingResponse) ClearDynamicMetadata()

func (*ProcessingResponse) ClearImmediateResponse

func (x *ProcessingResponse) ClearImmediateResponse()

func (*ProcessingResponse) ClearModeOverride

func (x *ProcessingResponse) ClearModeOverride()

func (*ProcessingResponse) ClearOverrideMessageTimeout

func (x *ProcessingResponse) ClearOverrideMessageTimeout()

func (*ProcessingResponse) ClearRequestBody

func (x *ProcessingResponse) ClearRequestBody()

func (*ProcessingResponse) ClearRequestHeaders

func (x *ProcessingResponse) ClearRequestHeaders()

func (*ProcessingResponse) ClearRequestTrailers

func (x *ProcessingResponse) ClearRequestTrailers()

func (*ProcessingResponse) ClearResponse

func (x *ProcessingResponse) ClearResponse()

func (*ProcessingResponse) ClearResponseBody

func (x *ProcessingResponse) ClearResponseBody()

func (*ProcessingResponse) ClearResponseHeaders

func (x *ProcessingResponse) ClearResponseHeaders()

func (*ProcessingResponse) ClearResponseTrailers

func (x *ProcessingResponse) ClearResponseTrailers()

func (*ProcessingResponse) ClearStreamedImmediateResponse

func (x *ProcessingResponse) ClearStreamedImmediateResponse()

func (*ProcessingResponse) GetDynamicMetadata

func (x *ProcessingResponse) GetDynamicMetadata() *structpb.Struct

func (*ProcessingResponse) GetImmediateResponse

func (x *ProcessingResponse) GetImmediateResponse() *ImmediateResponse

func (*ProcessingResponse) GetModeOverride

func (x *ProcessingResponse) GetModeOverride() *v3.ProcessingMode

func (*ProcessingResponse) GetOverrideMessageTimeout

func (x *ProcessingResponse) GetOverrideMessageTimeout() *durationpb.Duration

func (*ProcessingResponse) GetRequestBody

func (x *ProcessingResponse) GetRequestBody() *BodyResponse

func (*ProcessingResponse) GetRequestDrain

func (x *ProcessingResponse) GetRequestDrain() bool

func (*ProcessingResponse) GetRequestHeaders

func (x *ProcessingResponse) GetRequestHeaders() *HeadersResponse

func (*ProcessingResponse) GetRequestTrailers

func (x *ProcessingResponse) GetRequestTrailers() *TrailersResponse

func (*ProcessingResponse) GetResponse

func (x *ProcessingResponse) GetResponse() isProcessingResponse_Response

func (*ProcessingResponse) GetResponseBody

func (x *ProcessingResponse) GetResponseBody() *BodyResponse

func (*ProcessingResponse) GetResponseHeaders

func (x *ProcessingResponse) GetResponseHeaders() *HeadersResponse

func (*ProcessingResponse) GetResponseTrailers

func (x *ProcessingResponse) GetResponseTrailers() *TrailersResponse

func (*ProcessingResponse) GetStreamedImmediateResponse

func (x *ProcessingResponse) GetStreamedImmediateResponse() *StreamedImmediateResponse

func (*ProcessingResponse) HasDynamicMetadata

func (x *ProcessingResponse) HasDynamicMetadata() bool

func (*ProcessingResponse) HasImmediateResponse

func (x *ProcessingResponse) HasImmediateResponse() bool

func (*ProcessingResponse) HasModeOverride

func (x *ProcessingResponse) HasModeOverride() bool

func (*ProcessingResponse) HasOverrideMessageTimeout

func (x *ProcessingResponse) HasOverrideMessageTimeout() bool

func (*ProcessingResponse) HasRequestBody

func (x *ProcessingResponse) HasRequestBody() bool

func (*ProcessingResponse) HasRequestHeaders

func (x *ProcessingResponse) HasRequestHeaders() bool

func (*ProcessingResponse) HasRequestTrailers

func (x *ProcessingResponse) HasRequestTrailers() bool

func (*ProcessingResponse) HasResponse

func (x *ProcessingResponse) HasResponse() bool

func (*ProcessingResponse) HasResponseBody

func (x *ProcessingResponse) HasResponseBody() bool

func (*ProcessingResponse) HasResponseHeaders

func (x *ProcessingResponse) HasResponseHeaders() bool

func (*ProcessingResponse) HasResponseTrailers

func (x *ProcessingResponse) HasResponseTrailers() bool

func (*ProcessingResponse) HasStreamedImmediateResponse

func (x *ProcessingResponse) HasStreamedImmediateResponse() bool

func (*ProcessingResponse) ProtoMessage

func (*ProcessingResponse) ProtoMessage()

func (*ProcessingResponse) ProtoReflect

func (x *ProcessingResponse) ProtoReflect() protoreflect.Message

func (*ProcessingResponse) Reset

func (x *ProcessingResponse) Reset()

func (*ProcessingResponse) SetDynamicMetadata

func (x *ProcessingResponse) SetDynamicMetadata(v *structpb.Struct)

func (*ProcessingResponse) SetImmediateResponse

func (x *ProcessingResponse) SetImmediateResponse(v *ImmediateResponse)

func (*ProcessingResponse) SetModeOverride

func (x *ProcessingResponse) SetModeOverride(v *v3.ProcessingMode)

func (*ProcessingResponse) SetOverrideMessageTimeout

func (x *ProcessingResponse) SetOverrideMessageTimeout(v *durationpb.Duration)

func (*ProcessingResponse) SetRequestBody

func (x *ProcessingResponse) SetRequestBody(v *BodyResponse)

func (*ProcessingResponse) SetRequestDrain

func (x *ProcessingResponse) SetRequestDrain(v bool)

func (*ProcessingResponse) SetRequestHeaders

func (x *ProcessingResponse) SetRequestHeaders(v *HeadersResponse)

func (*ProcessingResponse) SetRequestTrailers

func (x *ProcessingResponse) SetRequestTrailers(v *TrailersResponse)

func (*ProcessingResponse) SetResponseBody

func (x *ProcessingResponse) SetResponseBody(v *BodyResponse)

func (*ProcessingResponse) SetResponseHeaders

func (x *ProcessingResponse) SetResponseHeaders(v *HeadersResponse)

func (*ProcessingResponse) SetResponseTrailers

func (x *ProcessingResponse) SetResponseTrailers(v *TrailersResponse)

func (*ProcessingResponse) SetStreamedImmediateResponse

func (x *ProcessingResponse) SetStreamedImmediateResponse(v *StreamedImmediateResponse)

func (*ProcessingResponse) String

func (x *ProcessingResponse) String() string

func (*ProcessingResponse) WhichResponse

func (x *ProcessingResponse) WhichResponse() case_ProcessingResponse_Response

type ProcessingResponse_ImmediateResponse

type ProcessingResponse_ImmediateResponse struct {
	// If specified, attempt to create a locally generated response, send it
	// downstream, and stop processing additional filters and ignore any
	// additional messages received from the remote server for this request or
	// response. If a response has already started -- for example, if this
	// message is sent response to a “response_body“ message -- then
	// this will either ship the reply directly to the downstream codec,
	// or reset the stream.
	ImmediateResponse *ImmediateResponse `protobuf:"bytes,7,opt,name=immediate_response,json=immediateResponse,proto3,oneof"`
}

type ProcessingResponse_RequestBody

type ProcessingResponse_RequestBody struct {
	// The server must send back this message in response to a message with
	// the “request_body“ field set.
	RequestBody *BodyResponse `protobuf:"bytes,3,opt,name=request_body,json=requestBody,proto3,oneof"`
}

type ProcessingResponse_RequestHeaders

type ProcessingResponse_RequestHeaders struct {
	// The server must send back this message in response to a message with the
	// “request_headers“ field set.
	RequestHeaders *HeadersResponse `protobuf:"bytes,1,opt,name=request_headers,json=requestHeaders,proto3,oneof"`
}

type ProcessingResponse_RequestTrailers

type ProcessingResponse_RequestTrailers struct {
	// The server must send back this message in response to a message with
	// the “request_trailers“ field set.
	RequestTrailers *TrailersResponse `protobuf:"bytes,5,opt,name=request_trailers,json=requestTrailers,proto3,oneof"`
}

type ProcessingResponse_ResponseBody

type ProcessingResponse_ResponseBody struct {
	// The server must send back this message in response to a message with
	// the “response_body“ field set.
	ResponseBody *BodyResponse `protobuf:"bytes,4,opt,name=response_body,json=responseBody,proto3,oneof"`
}

type ProcessingResponse_ResponseHeaders

type ProcessingResponse_ResponseHeaders struct {
	// The server must send back this message in response to a message with the
	// “response_headers“ field set.
	ResponseHeaders *HeadersResponse `protobuf:"bytes,2,opt,name=response_headers,json=responseHeaders,proto3,oneof"`
}

type ProcessingResponse_ResponseTrailers

type ProcessingResponse_ResponseTrailers struct {
	// The server must send back this message in response to a message with
	// the “response_trailers“ field set.
	ResponseTrailers *TrailersResponse `protobuf:"bytes,6,opt,name=response_trailers,json=responseTrailers,proto3,oneof"`
}

type ProcessingResponse_StreamedImmediateResponse

type ProcessingResponse_StreamedImmediateResponse struct {
	// The server sends back this message to initiate or continue local response streaming.
	// The server must initiate local response streaming with the “headers_response“ in response to a ProcessingRequest
	// with the “request_headers“ only.
	// The server may follow up with multiple messages containing “body_response“. The server must indicate
	// end of stream by setting “end_of_stream“ to “true“ in the “headers_response“
	// or “body_response“ message or by sending a “trailers_response“ message.
	// The client may send a “request_body“ or “request_trailers“ to the server depending on configuration.
	// The streaming local response can only be sent when the “request_header_mode“ in the filter
	// :ref:`processing_mode <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.processing_mode>`
	// is set to “SEND“. The ext_proc server should not send StreamedImmediateResponse if it did not observe request headers,
	// as it will result in the race with the upstream server response and reset of the client request.
	// Presently only the FULL_DUPLEX_STREAMED or NONE body modes are supported.
	StreamedImmediateResponse *StreamedImmediateResponse `protobuf:"bytes,11,opt,name=streamed_immediate_response,json=streamedImmediateResponse,proto3,oneof"`
}

type ProcessingResponse_builder

type ProcessingResponse_builder struct {

	// Fields of oneof Response:
	// The server must send back this message in response to a message with the
	// “request_headers“ field set.
	RequestHeaders *HeadersResponse
	// The server must send back this message in response to a message with the
	// “response_headers“ field set.
	ResponseHeaders *HeadersResponse
	// The server must send back this message in response to a message with
	// the “request_body“ field set.
	RequestBody *BodyResponse
	// The server must send back this message in response to a message with
	// the “response_body“ field set.
	ResponseBody *BodyResponse
	// The server must send back this message in response to a message with
	// the “request_trailers“ field set.
	RequestTrailers *TrailersResponse
	// The server must send back this message in response to a message with
	// the “response_trailers“ field set.
	ResponseTrailers *TrailersResponse
	// If specified, attempt to create a locally generated response, send it
	// downstream, and stop processing additional filters and ignore any
	// additional messages received from the remote server for this request or
	// response. If a response has already started -- for example, if this
	// message is sent response to a “response_body“ message -- then
	// this will either ship the reply directly to the downstream codec,
	// or reset the stream.
	ImmediateResponse *ImmediateResponse
	// The server sends back this message to initiate or continue local response streaming.
	// The server must initiate local response streaming with the “headers_response“ in response to a ProcessingRequest
	// with the “request_headers“ only.
	// The server may follow up with multiple messages containing “body_response“. The server must indicate
	// end of stream by setting “end_of_stream“ to “true“ in the “headers_response“
	// or “body_response“ message or by sending a “trailers_response“ message.
	// The client may send a “request_body“ or “request_trailers“ to the server depending on configuration.
	// The streaming local response can only be sent when the “request_header_mode“ in the filter
	// :ref:`processing_mode <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.processing_mode>`
	// is set to “SEND“. The ext_proc server should not send StreamedImmediateResponse if it did not observe request headers,
	// as it will result in the race with the upstream server response and reset of the client request.
	// Presently only the FULL_DUPLEX_STREAMED or NONE body modes are supported.
	StreamedImmediateResponse *StreamedImmediateResponse
	// -- end of Response
	// Optional metadata that will be emitted as dynamic metadata to be consumed by
	// following filters. This metadata will be placed in the namespace(s) specified by the top-level
	// field name(s) of the struct.
	DynamicMetadata *structpb.Struct
	// Override how parts of the HTTP request and response are processed
	// for the duration of this particular request/response only. Servers
	// may use this to intelligently control how requests are processed
	// based on the headers and other metadata that they see.
	// This field is only applicable when servers responding to the header requests.
	// If it is set in the response to the body or trailer requests, it will be ignored by the data plane.
	// It is also ignored by the data plane when the ext_proc filter config
	// :ref:`allow_mode_override
	// <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.allow_mode_override>`
	// is set to false, or
	// :ref:`send_body_without_waiting_for_header_response
	// <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.send_body_without_waiting_for_header_response>`
	// is set to true.
	ModeOverride *v3.ProcessingMode
	// [#not-implemented-hide:]
	// Used only in “FULL_DUPLEX_STREAMED“ and “GRPC“ body send modes.
	// Instructs the data plane to stop sending body data and to send a
	// half-close on the ext_proc stream. The ext_proc server should then echo
	// back all subsequent body contents as-is until it sees the client's
	// half-close, at which point the ext_proc server can terminate the stream
	// with an OK status. This provides a safe way for the ext_proc server
	// to indicate that it does not need to see the rest of the stream;
	// without this, the ext_proc server could not terminate the stream
	// early, because it would wind up dropping any body contents that the
	// client had already sent before it saw the ext_proc stream termination.
	RequestDrain bool
	// When ext_proc server receives a request message, in case it needs more
	// time to process the message, it sends back a ProcessingResponse message
	// with a new timeout value. When the data plane receives this response
	// message, it ignores other fields in the response, just stop the original
	// timer, which has the timeout value specified in
	// :ref:`message_timeout
	// <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.message_timeout>`
	// and start a new timer with this “override_message_timeout“ value and keep the
	// data plane ext_proc filter state machine intact.
	// Has to be >= 1ms and <=
	// :ref:`max_message_timeout <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.max_message_timeout>`
	// Such message can be sent at most once in a particular data plane ext_proc filter processing state.
	// To enable this API, one has to set “max_message_timeout“ to a number >= 1ms.
	OverrideMessageTimeout *durationpb.Duration
	// contains filtered or unexported fields
}

func (ProcessingResponse_builder) Build

type ProtocolConfiguration

type ProtocolConfiguration struct {

	// Specify the filter configuration :ref:`request_body_mode
	// <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ProcessingMode.request_body_mode>`
	RequestBodyMode v3.ProcessingMode_BodySendMode `` /* 184-byte string literal not displayed */
	// Specify the filter configuration :ref:`response_body_mode
	// <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ProcessingMode.response_body_mode>`
	ResponseBodyMode v3.ProcessingMode_BodySendMode `` /* 187-byte string literal not displayed */
	// Specify the filter configuration :ref:`send_body_without_waiting_for_header_response
	// <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.send_body_without_waiting_for_header_response>`
	// If the client is waiting for a header response from the server, setting “true“ means the client will send body to the server
	// as they arrive. Setting “false“ means the client will buffer the arrived data and not send it to the server immediately.
	SendBodyWithoutWaitingForHeaderResponse bool `` /* 189-byte string literal not displayed */
	// contains filtered or unexported fields
}

This message specifies the filter protocol configurations which will be sent to the ext_proc server in a :ref:`ProcessingRequest <envoy_v3_api_msg_service.ext_proc.v3.ProcessingRequest>`. If the server does not support these protocol configurations, it may choose to close the gRPC stream. If the server supports these protocol configurations, it should respond based on the API specifications.

func (*ProtocolConfiguration) GetRequestBodyMode

func (x *ProtocolConfiguration) GetRequestBodyMode() v3.ProcessingMode_BodySendMode

func (*ProtocolConfiguration) GetResponseBodyMode

func (x *ProtocolConfiguration) GetResponseBodyMode() v3.ProcessingMode_BodySendMode

func (*ProtocolConfiguration) GetSendBodyWithoutWaitingForHeaderResponse

func (x *ProtocolConfiguration) GetSendBodyWithoutWaitingForHeaderResponse() bool

func (*ProtocolConfiguration) ProtoMessage

func (*ProtocolConfiguration) ProtoMessage()

func (*ProtocolConfiguration) ProtoReflect

func (x *ProtocolConfiguration) ProtoReflect() protoreflect.Message

func (*ProtocolConfiguration) Reset

func (x *ProtocolConfiguration) Reset()

func (*ProtocolConfiguration) SetRequestBodyMode

func (x *ProtocolConfiguration) SetRequestBodyMode(v v3.ProcessingMode_BodySendMode)

func (*ProtocolConfiguration) SetResponseBodyMode

func (x *ProtocolConfiguration) SetResponseBodyMode(v v3.ProcessingMode_BodySendMode)

func (*ProtocolConfiguration) SetSendBodyWithoutWaitingForHeaderResponse

func (x *ProtocolConfiguration) SetSendBodyWithoutWaitingForHeaderResponse(v bool)

func (*ProtocolConfiguration) String

func (x *ProtocolConfiguration) String() string

type ProtocolConfiguration_builder

type ProtocolConfiguration_builder struct {

	// Specify the filter configuration :ref:`request_body_mode
	// <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ProcessingMode.request_body_mode>`
	RequestBodyMode v3.ProcessingMode_BodySendMode
	// Specify the filter configuration :ref:`response_body_mode
	// <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ProcessingMode.response_body_mode>`
	ResponseBodyMode v3.ProcessingMode_BodySendMode
	// Specify the filter configuration :ref:`send_body_without_waiting_for_header_response
	// <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.send_body_without_waiting_for_header_response>`
	// If the client is waiting for a header response from the server, setting “true“ means the client will send body to the server
	// as they arrive. Setting “false“ means the client will buffer the arrived data and not send it to the server immediately.
	SendBodyWithoutWaitingForHeaderResponse bool
	// contains filtered or unexported fields
}

func (ProtocolConfiguration_builder) Build

type StreamedBodyResponse

type StreamedBodyResponse struct {

	// In “FULL_DUPLEX_STREAMED“ body send mode, contains the body response chunk that will be
	// passed to the upstream/downstream by the data plane. In “GRPC“ body send mode, contains
	// a serialized gRPC message to be passed to the upstream/downstream by the data plane.
	Body []byte `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
	// The server sets this flag to true if it has received a body request with
	// :ref:`end_of_stream <envoy_v3_api_field_service.ext_proc.v3.HttpBody.end_of_stream>` set to true,
	// and this is the last chunk of body responses.
	// Note that in “GRPC“ body send mode, this allows the ext_proc
	// server to tell the data plane to send a half close after a client
	// message, which will result in discarding any other messages sent by
	// the client application.
	EndOfStream bool `protobuf:"varint,2,opt,name=end_of_stream,json=endOfStream,proto3" json:"end_of_stream,omitempty"`
	// This field is used in “GRPC“ body send mode when “end_of_stream“ is
	// true and “body“ is empty. Those values would normally indicate an
	// empty message on the stream with the end-of-stream bit set.
	// However, if the half-close happens after the last message on the
	// stream was already sent, then this field will be true to indicate an
	// end-of-stream with *no* message (as opposed to an empty message).
	EndOfStreamWithoutMessage bool `` /* 143-byte string literal not displayed */
	// This field is used in “GRPC“ body send mode to indicate whether
	// the message is compressed. This will never be set to true by gRPC
	// but may be set to true by a proxy like Envoy.
	GrpcMessageCompressed bool `` /* 127-byte string literal not displayed */
	// contains filtered or unexported fields
}

The body response message corresponding to “FULL_DUPLEX_STREAMED“ or “GRPC“ body modes.

func (*StreamedBodyResponse) GetBody

func (x *StreamedBodyResponse) GetBody() []byte

func (*StreamedBodyResponse) GetEndOfStream

func (x *StreamedBodyResponse) GetEndOfStream() bool

func (*StreamedBodyResponse) GetEndOfStreamWithoutMessage

func (x *StreamedBodyResponse) GetEndOfStreamWithoutMessage() bool

func (*StreamedBodyResponse) GetGrpcMessageCompressed

func (x *StreamedBodyResponse) GetGrpcMessageCompressed() bool

func (*StreamedBodyResponse) ProtoMessage

func (*StreamedBodyResponse) ProtoMessage()

func (*StreamedBodyResponse) ProtoReflect

func (x *StreamedBodyResponse) ProtoReflect() protoreflect.Message

func (*StreamedBodyResponse) Reset

func (x *StreamedBodyResponse) Reset()

func (*StreamedBodyResponse) SetBody

func (x *StreamedBodyResponse) SetBody(v []byte)

func (*StreamedBodyResponse) SetEndOfStream

func (x *StreamedBodyResponse) SetEndOfStream(v bool)

func (*StreamedBodyResponse) SetEndOfStreamWithoutMessage

func (x *StreamedBodyResponse) SetEndOfStreamWithoutMessage(v bool)

func (*StreamedBodyResponse) SetGrpcMessageCompressed

func (x *StreamedBodyResponse) SetGrpcMessageCompressed(v bool)

func (*StreamedBodyResponse) String

func (x *StreamedBodyResponse) String() string

type StreamedBodyResponse_builder

type StreamedBodyResponse_builder struct {

	// In “FULL_DUPLEX_STREAMED“ body send mode, contains the body response chunk that will be
	// passed to the upstream/downstream by the data plane. In “GRPC“ body send mode, contains
	// a serialized gRPC message to be passed to the upstream/downstream by the data plane.
	Body []byte
	// The server sets this flag to true if it has received a body request with
	// :ref:`end_of_stream <envoy_v3_api_field_service.ext_proc.v3.HttpBody.end_of_stream>` set to true,
	// and this is the last chunk of body responses.
	// Note that in “GRPC“ body send mode, this allows the ext_proc
	// server to tell the data plane to send a half close after a client
	// message, which will result in discarding any other messages sent by
	// the client application.
	EndOfStream bool
	// This field is used in “GRPC“ body send mode when “end_of_stream“ is
	// true and “body“ is empty. Those values would normally indicate an
	// empty message on the stream with the end-of-stream bit set.
	// However, if the half-close happens after the last message on the
	// stream was already sent, then this field will be true to indicate an
	// end-of-stream with *no* message (as opposed to an empty message).
	EndOfStreamWithoutMessage bool
	// This field is used in “GRPC“ body send mode to indicate whether
	// the message is compressed. This will never be set to true by gRPC
	// but may be set to true by a proxy like Envoy.
	GrpcMessageCompressed bool
	// contains filtered or unexported fields
}

func (StreamedBodyResponse_builder) Build

type StreamedImmediateResponse

type StreamedImmediateResponse struct {

	// Types that are valid to be assigned to Response:
	//
	//	*StreamedImmediateResponse_HeadersResponse
	//	*StreamedImmediateResponse_BodyResponse
	//	*StreamedImmediateResponse_TrailersResponse
	Response isStreamedImmediateResponse_Response `protobuf_oneof:"response"`
	// contains filtered or unexported fields
}

This message is sent by the external server to the data plane after “HttpHeaders“ to initiate local response streaming. The server may follow up with multiple messages containing “body_response“. The server must indicate end of stream by setting “end_of_stream“ to “true“ in the “headers_response“ or “body_response“ message or by sending a “trailers_response“ message.

func (*StreamedImmediateResponse) ClearBodyResponse

func (x *StreamedImmediateResponse) ClearBodyResponse()

func (*StreamedImmediateResponse) ClearHeadersResponse

func (x *StreamedImmediateResponse) ClearHeadersResponse()

func (*StreamedImmediateResponse) ClearResponse

func (x *StreamedImmediateResponse) ClearResponse()

func (*StreamedImmediateResponse) ClearTrailersResponse

func (x *StreamedImmediateResponse) ClearTrailersResponse()

func (*StreamedImmediateResponse) GetBodyResponse

func (x *StreamedImmediateResponse) GetBodyResponse() *StreamedBodyResponse

func (*StreamedImmediateResponse) GetHeadersResponse

func (x *StreamedImmediateResponse) GetHeadersResponse() *HttpHeaders

func (*StreamedImmediateResponse) GetResponse

func (x *StreamedImmediateResponse) GetResponse() isStreamedImmediateResponse_Response

func (*StreamedImmediateResponse) GetTrailersResponse

func (x *StreamedImmediateResponse) GetTrailersResponse() *v31.HeaderMap

func (*StreamedImmediateResponse) HasBodyResponse

func (x *StreamedImmediateResponse) HasBodyResponse() bool

func (*StreamedImmediateResponse) HasHeadersResponse

func (x *StreamedImmediateResponse) HasHeadersResponse() bool

func (*StreamedImmediateResponse) HasResponse

func (x *StreamedImmediateResponse) HasResponse() bool

func (*StreamedImmediateResponse) HasTrailersResponse

func (x *StreamedImmediateResponse) HasTrailersResponse() bool

func (*StreamedImmediateResponse) ProtoMessage

func (*StreamedImmediateResponse) ProtoMessage()

func (*StreamedImmediateResponse) ProtoReflect

func (*StreamedImmediateResponse) Reset

func (x *StreamedImmediateResponse) Reset()

func (*StreamedImmediateResponse) SetBodyResponse

func (x *StreamedImmediateResponse) SetBodyResponse(v *StreamedBodyResponse)

func (*StreamedImmediateResponse) SetHeadersResponse

func (x *StreamedImmediateResponse) SetHeadersResponse(v *HttpHeaders)

func (*StreamedImmediateResponse) SetTrailersResponse

func (x *StreamedImmediateResponse) SetTrailersResponse(v *v31.HeaderMap)

func (*StreamedImmediateResponse) String

func (x *StreamedImmediateResponse) String() string

func (*StreamedImmediateResponse) WhichResponse

func (x *StreamedImmediateResponse) WhichResponse() case_StreamedImmediateResponse_Response

type StreamedImmediateResponse_BodyResponse

type StreamedImmediateResponse_BodyResponse struct {
	// Response body to be sent downstream.
	BodyResponse *StreamedBodyResponse `protobuf:"bytes,2,opt,name=body_response,json=bodyResponse,proto3,oneof"`
}

type StreamedImmediateResponse_HeadersResponse

type StreamedImmediateResponse_HeadersResponse struct {
	// Response headers to be sent downstream. The ":status" header must be set.
	HeadersResponse *HttpHeaders `protobuf:"bytes,1,opt,name=headers_response,json=headersResponse,proto3,oneof"`
}

type StreamedImmediateResponse_TrailersResponse

type StreamedImmediateResponse_TrailersResponse struct {
	// Response trailers to be sent downstream.
	TrailersResponse *v31.HeaderMap `protobuf:"bytes,3,opt,name=trailers_response,json=trailersResponse,proto3,oneof"`
}

type StreamedImmediateResponse_builder

type StreamedImmediateResponse_builder struct {

	// Fields of oneof Response:
	// Response headers to be sent downstream. The ":status" header must be set.
	HeadersResponse *HttpHeaders
	// Response body to be sent downstream.
	BodyResponse *StreamedBodyResponse
	// Response trailers to be sent downstream.
	TrailersResponse *v31.HeaderMap
	// contains filtered or unexported fields
}

func (StreamedImmediateResponse_builder) Build

type TrailersResponse

type TrailersResponse struct {

	// Details the modifications (if any) to be made by the data plane to the current
	// request/response trailers.
	HeaderMutation *HeaderMutation `protobuf:"bytes,1,opt,name=header_mutation,json=headerMutation,proto3" json:"header_mutation,omitempty"`
	// contains filtered or unexported fields
}

This message is sent by the external server to the data plane after “HttpTrailers“ was sent to it.

func (*TrailersResponse) ClearHeaderMutation

func (x *TrailersResponse) ClearHeaderMutation()

func (*TrailersResponse) GetHeaderMutation

func (x *TrailersResponse) GetHeaderMutation() *HeaderMutation

func (*TrailersResponse) HasHeaderMutation

func (x *TrailersResponse) HasHeaderMutation() bool

func (*TrailersResponse) ProtoMessage

func (*TrailersResponse) ProtoMessage()

func (*TrailersResponse) ProtoReflect

func (x *TrailersResponse) ProtoReflect() protoreflect.Message

func (*TrailersResponse) Reset

func (x *TrailersResponse) Reset()

func (*TrailersResponse) SetHeaderMutation

func (x *TrailersResponse) SetHeaderMutation(v *HeaderMutation)

func (*TrailersResponse) String

func (x *TrailersResponse) String() string

type TrailersResponse_builder

type TrailersResponse_builder struct {

	// Details the modifications (if any) to be made by the data plane to the current
	// request/response trailers.
	HeaderMutation *HeaderMutation
	// contains filtered or unexported fields
}

func (TrailersResponse_builder) Build

Source Files

  • external_processor.pb.go

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL