Documentation ¶
Index ¶
- Variables
- type BodyMutation
- func (*BodyMutation) Descriptor() ([]byte, []int)deprecated
- func (x *BodyMutation) GetBody() []byte
- func (x *BodyMutation) GetClearBody() bool
- func (m *BodyMutation) GetMutation() isBodyMutation_Mutation
- func (*BodyMutation) ProtoMessage()
- func (x *BodyMutation) ProtoReflect() protoreflect.Message
- func (x *BodyMutation) Reset()
- func (x *BodyMutation) String() string
- type BodyMutation_Body
- type BodyMutation_ClearBody
- type BodyResponse
- type CommonResponse
- func (*CommonResponse) Descriptor() ([]byte, []int)deprecated
- func (x *CommonResponse) GetBodyMutation() *BodyMutation
- func (x *CommonResponse) GetClearRouteCache() bool
- func (x *CommonResponse) GetHeaderMutation() *HeaderMutation
- func (x *CommonResponse) GetStatus() CommonResponse_ResponseStatus
- func (x *CommonResponse) GetTrailers() *v31.HeaderMap
- func (*CommonResponse) ProtoMessage()
- func (x *CommonResponse) ProtoReflect() protoreflect.Message
- func (x *CommonResponse) Reset()
- func (x *CommonResponse) String() string
- type CommonResponse_ResponseStatus
- func (CommonResponse_ResponseStatus) Descriptor() protoreflect.EnumDescriptor
- func (x CommonResponse_ResponseStatus) Enum() *CommonResponse_ResponseStatus
- func (CommonResponse_ResponseStatus) EnumDescriptor() ([]byte, []int)deprecated
- func (x CommonResponse_ResponseStatus) Number() protoreflect.EnumNumber
- func (x CommonResponse_ResponseStatus) String() string
- func (CommonResponse_ResponseStatus) Type() protoreflect.EnumType
- type GrpcStatus
- type HeaderMutation
- func (*HeaderMutation) Descriptor() ([]byte, []int)deprecated
- func (x *HeaderMutation) GetRemoveHeaders() []string
- func (x *HeaderMutation) GetSetHeaders() []*v31.HeaderValueOption
- func (*HeaderMutation) ProtoMessage()
- func (x *HeaderMutation) ProtoReflect() protoreflect.Message
- func (x *HeaderMutation) Reset()
- func (x *HeaderMutation) String() string
- type HeadersResponse
- type HttpBody
- type HttpHeaders
- func (*HttpHeaders) Descriptor() ([]byte, []int)deprecated
- func (x *HttpHeaders) GetAttributes() map[string]*structpb.Struct
- func (x *HttpHeaders) GetEndOfStream() bool
- func (x *HttpHeaders) GetHeaders() *v31.HeaderMap
- func (*HttpHeaders) ProtoMessage()
- func (x *HttpHeaders) ProtoReflect() protoreflect.Message
- func (x *HttpHeaders) Reset()
- func (x *HttpHeaders) String() string
- type HttpTrailers
- type ImmediateResponse
- func (*ImmediateResponse) Descriptor() ([]byte, []int)deprecated
- func (x *ImmediateResponse) GetBody() string
- func (x *ImmediateResponse) GetDetails() string
- func (x *ImmediateResponse) GetGrpcStatus() *GrpcStatus
- func (x *ImmediateResponse) GetHeaders() *HeaderMutation
- func (x *ImmediateResponse) GetStatus() *v32.HttpStatus
- func (*ImmediateResponse) ProtoMessage()
- func (x *ImmediateResponse) ProtoReflect() protoreflect.Message
- func (x *ImmediateResponse) Reset()
- func (x *ImmediateResponse) String() string
- type ProcessingRequest
- func (*ProcessingRequest) Descriptor() ([]byte, []int)deprecated
- func (x *ProcessingRequest) GetAsyncMode() bool
- func (m *ProcessingRequest) GetRequest() isProcessingRequest_Request
- func (x *ProcessingRequest) GetRequestBody() *HttpBody
- func (x *ProcessingRequest) GetRequestHeaders() *HttpHeaders
- func (x *ProcessingRequest) GetRequestTrailers() *HttpTrailers
- func (x *ProcessingRequest) GetResponseBody() *HttpBody
- func (x *ProcessingRequest) GetResponseHeaders() *HttpHeaders
- func (x *ProcessingRequest) GetResponseTrailers() *HttpTrailers
- func (*ProcessingRequest) ProtoMessage()
- func (x *ProcessingRequest) ProtoReflect() protoreflect.Message
- func (x *ProcessingRequest) Reset()
- func (x *ProcessingRequest) String() string
- type ProcessingRequest_RequestBody
- type ProcessingRequest_RequestHeaders
- type ProcessingRequest_RequestTrailers
- type ProcessingRequest_ResponseBody
- type ProcessingRequest_ResponseHeaders
- type ProcessingRequest_ResponseTrailers
- type ProcessingResponse
- func (*ProcessingResponse) Descriptor() ([]byte, []int)deprecated
- func (x *ProcessingResponse) GetDynamicMetadata() *structpb.Struct
- func (x *ProcessingResponse) GetImmediateResponse() *ImmediateResponse
- func (x *ProcessingResponse) GetModeOverride() *v3.ProcessingMode
- func (x *ProcessingResponse) GetOverrideMessageTimeout() *durationpb.Duration
- func (x *ProcessingResponse) GetRequestBody() *BodyResponse
- func (x *ProcessingResponse) GetRequestHeaders() *HeadersResponse
- func (x *ProcessingResponse) GetRequestTrailers() *TrailersResponse
- func (m *ProcessingResponse) GetResponse() isProcessingResponse_Response
- func (x *ProcessingResponse) GetResponseBody() *BodyResponse
- func (x *ProcessingResponse) GetResponseHeaders() *HeadersResponse
- func (x *ProcessingResponse) GetResponseTrailers() *TrailersResponse
- func (*ProcessingResponse) ProtoMessage()
- func (x *ProcessingResponse) ProtoReflect() protoreflect.Message
- func (x *ProcessingResponse) Reset()
- func (x *ProcessingResponse) String() string
- type ProcessingResponse_ImmediateResponse
- type ProcessingResponse_RequestBody
- type ProcessingResponse_RequestHeaders
- type ProcessingResponse_RequestTrailers
- type ProcessingResponse_ResponseBody
- type ProcessingResponse_ResponseHeaders
- type ProcessingResponse_ResponseTrailers
- type TrailersResponse
- func (*TrailersResponse) Descriptor() ([]byte, []int)deprecated
- func (x *TrailersResponse) GetHeaderMutation() *HeaderMutation
- func (*TrailersResponse) ProtoMessage()
- func (x *TrailersResponse) ProtoReflect() protoreflect.Message
- func (x *TrailersResponse) Reset()
- func (x *TrailersResponse) String() string
Constants ¶
This section is empty.
Variables ¶
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.
var File_envoy_service_ext_proc_v3_external_processor_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type BodyMutation ¶
type BodyMutation struct { // Types that are assignable to Mutation: // // *BodyMutation_Body // *BodyMutation_ClearBody Mutation isBodyMutation_Mutation `protobuf_oneof:"mutation"` // contains filtered or unexported fields }
Replace the entire message body chunk received in the corresponding HttpBody message with this new body, or clear the body.
func (*BodyMutation) Descriptor
deprecated
func (*BodyMutation) Descriptor() ([]byte, []int)
Deprecated: Use BodyMutation.ProtoReflect.Descriptor instead.
func (*BodyMutation) GetBody ¶
func (x *BodyMutation) GetBody() []byte
func (*BodyMutation) GetClearBody ¶
func (x *BodyMutation) GetClearBody() bool
func (*BodyMutation) GetMutation ¶
func (m *BodyMutation) GetMutation() isBodyMutation_Mutation
func (*BodyMutation) ProtoMessage ¶
func (*BodyMutation) ProtoMessage()
func (*BodyMutation) ProtoReflect ¶
func (x *BodyMutation) ProtoReflect() protoreflect.Message
func (*BodyMutation) Reset ¶
func (x *BodyMutation) Reset()
func (*BodyMutation) String ¶
func (x *BodyMutation) String() string
type BodyMutation_Body ¶
type BodyMutation_Body struct { // The entire body to replace Body []byte `protobuf:"bytes,1,opt,name=body,proto3,oneof"` }
type BodyMutation_ClearBody ¶
type BodyMutation_ClearBody struct { // Clear the corresponding body chunk ClearBody bool `protobuf:"varint,2,opt,name=clear_body,json=clearBody,proto3,oneof"` }
type BodyResponse ¶
type BodyResponse struct { Response *CommonResponse `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` // contains filtered or unexported fields }
This message must be sent in response to an HttpBody message.
func (*BodyResponse) Descriptor
deprecated
func (*BodyResponse) Descriptor() ([]byte, []int)
Deprecated: Use BodyResponse.ProtoReflect.Descriptor instead.
func (*BodyResponse) GetResponse ¶
func (x *BodyResponse) GetResponse() *CommonResponse
func (*BodyResponse) ProtoMessage ¶
func (*BodyResponse) ProtoMessage()
func (*BodyResponse) ProtoReflect ¶
func (x *BodyResponse) ProtoReflect() protoreflect.Message
func (*BodyResponse) Reset ¶
func (x *BodyResponse) Reset()
func (*BodyResponse) String ¶
func (x *BodyResponse) String() string
type CommonResponse ¶
type CommonResponse struct { // If set, provide additional direction on how the Envoy proxy 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 “trailers“ encoding is based on the runtime guard // envoy_reloadable_features_send_header_raw_value setting. // When it is true, the header value is encoded in the // :ref:`raw_value <envoy_v3_api_field_config.core.v3.HeaderValue.raw_value>` field. // When it is false, the header value is encoded in the // :ref:`value <envoy_v3_api_field_config.core.v3.HeaderValue.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. 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) Descriptor
deprecated
func (*CommonResponse) Descriptor() ([]byte, []int)
Deprecated: Use CommonResponse.ProtoReflect.Descriptor instead.
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 (x *CommonResponse) GetStatus() CommonResponse_ResponseStatus
func (*CommonResponse) GetTrailers ¶
func (x *CommonResponse) GetTrailers() *v31.HeaderMap
func (*CommonResponse) ProtoMessage ¶
func (*CommonResponse) ProtoMessage()
func (*CommonResponse) ProtoReflect ¶
func (x *CommonResponse) ProtoReflect() protoreflect.Message
func (*CommonResponse) Reset ¶
func (x *CommonResponse) Reset()
func (*CommonResponse) String ¶
func (x *CommonResponse) String() string
type CommonResponse_ResponseStatus ¶
type CommonResponse_ResponseStatus int32
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. CommonResponse_CONTINUE_AND_REPLACE CommonResponse_ResponseStatus = 1 )
func (CommonResponse_ResponseStatus) Descriptor ¶
func (CommonResponse_ResponseStatus) Descriptor() protoreflect.EnumDescriptor
func (CommonResponse_ResponseStatus) Enum ¶
func (x CommonResponse_ResponseStatus) Enum() *CommonResponse_ResponseStatus
func (CommonResponse_ResponseStatus) EnumDescriptor
deprecated
func (CommonResponse_ResponseStatus) EnumDescriptor() ([]byte, []int)
Deprecated: Use CommonResponse_ResponseStatus.Descriptor instead.
func (CommonResponse_ResponseStatus) Number ¶
func (x CommonResponse_ResponseStatus) Number() protoreflect.EnumNumber
func (CommonResponse_ResponseStatus) String ¶
func (x CommonResponse_ResponseStatus) String() string
func (CommonResponse_ResponseStatus) Type ¶
func (CommonResponse_ResponseStatus) Type() protoreflect.EnumType
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) Descriptor
deprecated
func (*GrpcStatus) Descriptor() ([]byte, []int)
Deprecated: Use GrpcStatus.ProtoReflect.Descriptor instead.
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) String ¶
func (x *GrpcStatus) String() string
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 “set_headers“ encoding is based on the runtime guard // envoy_reloadable_features_send_header_raw_value setting. // When it is true, the header value is encoded in the // :ref:`raw_value <envoy_v3_api_field_config.core.v3.HeaderValue.raw_value>` field. // When it is false, the header value is encoded in the // :ref:`value <envoy_v3_api_field_config.core.v3.HeaderValue.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) Descriptor
deprecated
func (*HeaderMutation) Descriptor() ([]byte, []int)
Deprecated: Use HeaderMutation.ProtoReflect.Descriptor instead.
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) String ¶
func (x *HeaderMutation) String() string
type HeadersResponse ¶
type HeadersResponse struct { Response *CommonResponse `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` // contains filtered or unexported fields }
This message must be sent in response to an HttpHeaders message.
func (*HeadersResponse) Descriptor
deprecated
func (*HeadersResponse) Descriptor() ([]byte, []int)
Deprecated: Use HeadersResponse.ProtoReflect.Descriptor instead.
func (*HeadersResponse) GetResponse ¶
func (x *HeadersResponse) GetResponse() *CommonResponse
func (*HeadersResponse) ProtoMessage ¶
func (*HeadersResponse) ProtoMessage()
func (*HeadersResponse) ProtoReflect ¶
func (x *HeadersResponse) ProtoReflect() protoreflect.Message
func (*HeadersResponse) Reset ¶
func (x *HeadersResponse) Reset()
func (*HeadersResponse) String ¶
func (x *HeadersResponse) String() string
type HttpBody ¶
type HttpBody struct { Body []byte `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"` EndOfStream bool `protobuf:"varint,2,opt,name=end_of_stream,json=endOfStream,proto3" json:"end_of_stream,omitempty"` // contains filtered or unexported fields }
This message contains the message body that Envoy sends to the external server.
func (*HttpBody) ProtoReflect ¶
func (x *HttpBody) ProtoReflect() protoreflect.Message
type HttpHeaders ¶
type HttpHeaders struct { // The HTTP request headers. All header keys will be // lower-cased, because HTTP header keys are case-insensitive. // The “headers“ encoding is based on the runtime guard // envoy_reloadable_features_send_header_raw_value setting. // When it is true, the header value is encoded in the // :ref:`raw_value <envoy_v3_api_field_config.core.v3.HeaderValue.raw_value>` field. // When it is false, the header value is encoded in the // :ref:`value <envoy_v3_api_field_config.core.v3.HeaderValue.value>` field. Headers *v31.HeaderMap `protobuf:"bytes,1,opt,name=headers,proto3" json:"headers,omitempty"` // [#not-implemented-hide:] // 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 across Envoy. Attributes map[string]*structpb.Struct `` /* 161-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) Descriptor
deprecated
func (*HttpHeaders) Descriptor() ([]byte, []int)
Deprecated: Use HttpHeaders.ProtoReflect.Descriptor instead.
func (*HttpHeaders) GetAttributes ¶
func (x *HttpHeaders) GetAttributes() map[string]*structpb.Struct
func (*HttpHeaders) GetEndOfStream ¶
func (x *HttpHeaders) GetEndOfStream() bool
func (*HttpHeaders) GetHeaders ¶
func (x *HttpHeaders) GetHeaders() *v31.HeaderMap
func (*HttpHeaders) ProtoMessage ¶
func (*HttpHeaders) ProtoMessage()
func (*HttpHeaders) ProtoReflect ¶
func (x *HttpHeaders) ProtoReflect() protoreflect.Message
func (*HttpHeaders) Reset ¶
func (x *HttpHeaders) Reset()
func (*HttpHeaders) String ¶
func (x *HttpHeaders) String() string
type HttpTrailers ¶
type HttpTrailers struct { // The “trailers“ encoding is based on the runtime guard // envoy_reloadable_features_send_header_raw_value setting. // When it is true, the header value is encoded in the // :ref:`raw_value <envoy_v3_api_field_config.core.v3.HeaderValue.raw_value>` field. // When it is false, the header value is encoded in the // :ref:`value <envoy_v3_api_field_config.core.v3.HeaderValue.value>` field. Trailers *v31.HeaderMap `protobuf:"bytes,1,opt,name=trailers,proto3" json:"trailers,omitempty"` // contains filtered or unexported fields }
This message contains the trailers.
func (*HttpTrailers) Descriptor
deprecated
func (*HttpTrailers) Descriptor() ([]byte, []int)
Deprecated: Use HttpTrailers.ProtoReflect.Descriptor instead.
func (*HttpTrailers) GetTrailers ¶
func (x *HttpTrailers) GetTrailers() *v31.HeaderMap
func (*HttpTrailers) ProtoMessage ¶
func (*HttpTrailers) ProtoMessage()
func (*HttpTrailers) ProtoReflect ¶
func (x *HttpTrailers) ProtoReflect() protoreflect.Message
func (*HttpTrailers) Reset ¶
func (x *HttpTrailers) Reset()
func (*HttpTrailers) String ¶
func (x *HttpTrailers) String() string
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 string `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) Descriptor
deprecated
func (*ImmediateResponse) Descriptor() ([]byte, []int)
Deprecated: Use ImmediateResponse.ProtoReflect.Descriptor instead.
func (*ImmediateResponse) GetBody ¶
func (x *ImmediateResponse) GetBody() string
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) ProtoMessage ¶
func (*ImmediateResponse) ProtoMessage()
func (*ImmediateResponse) ProtoReflect ¶
func (x *ImmediateResponse) ProtoReflect() protoreflect.Message
func (*ImmediateResponse) Reset ¶
func (x *ImmediateResponse) Reset()
func (*ImmediateResponse) String ¶
func (x *ImmediateResponse) String() string
type ProcessingRequest ¶
type ProcessingRequest struct { // Specify whether the filter that sent this request is running in synchronous // or asynchronous mode. The choice of synchronous or asynchronous mode // can be set in the filter configuration, 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 must not respond to this // message, although it may still close the stream to indicate that no more messages // are needed. AsyncMode bool `protobuf:"varint,1,opt,name=async_mode,json=asyncMode,proto3" json:"async_mode,omitempty"` // 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 assignable to Request: // // *ProcessingRequest_RequestHeaders // *ProcessingRequest_ResponseHeaders // *ProcessingRequest_RequestBody // *ProcessingRequest_ResponseBody // *ProcessingRequest_RequestTrailers // *ProcessingRequest_ResponseTrailers Request isProcessingRequest_Request `protobuf_oneof:"request"` // contains filtered or unexported fields }
This represents the different types of messages that Envoy can send to an external processing server. [#next-free-field: 8]
func (*ProcessingRequest) Descriptor
deprecated
func (*ProcessingRequest) Descriptor() ([]byte, []int)
Deprecated: Use ProcessingRequest.ProtoReflect.Descriptor instead.
func (*ProcessingRequest) GetAsyncMode ¶
func (x *ProcessingRequest) GetAsyncMode() bool
func (*ProcessingRequest) GetRequest ¶
func (m *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) ProtoMessage ¶
func (*ProcessingRequest) ProtoMessage()
func (*ProcessingRequest) ProtoReflect ¶
func (x *ProcessingRequest) ProtoReflect() protoreflect.Message
func (*ProcessingRequest) Reset ¶
func (x *ProcessingRequest) Reset()
func (*ProcessingRequest) String ¶
func (x *ProcessingRequest) String() string
type ProcessingRequest_RequestBody ¶
type ProcessingRequest_RequestBody struct { // A chunk of the HTTP request body. Unless “async_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 “async_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 “async_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“. // If there are no trailers on the original downstream request, then this message // will only be sent (with empty trailers waiting to be populated) if the // processing mode is set before the request headers are sent, such as // in the filter configuration. 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 request body. Unless “async_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 “async_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 “async_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“. // If there are no trailers on the original downstream request, then this message // will only be sent (with empty trailers waiting to be populated) if the // processing mode is set before the request headers are sent, such as // in the filter configuration. ResponseTrailers *HttpTrailers `protobuf:"bytes,7,opt,name=response_trailers,json=responseTrailers,proto3,oneof"` }
type ProcessingResponse ¶
type ProcessingResponse struct { // Types that are assignable to Response: // // *ProcessingResponse_RequestHeaders // *ProcessingResponse_ResponseHeaders // *ProcessingResponse_RequestBody // *ProcessingResponse_ResponseBody // *ProcessingResponse_RequestTrailers // *ProcessingResponse_ResponseTrailers // *ProcessingResponse_ImmediateResponse Response isProcessingResponse_Response `protobuf_oneof:"response"` // [#not-implemented-hide:] // Optional metadata that will be emitted as dynamic metadata to be consumed by the next // filter. This metadata will be placed in the namespace “envoy.filters.http.ext_proc“. 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 ignored by Envoy 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. ModeOverride *v3.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 // with a new timeout value. When Envoy 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 // Envoy 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 Envoy 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 }
For every ProcessingRequest received by the server with the “async_mode“ field set to false, the server must send back exactly one ProcessingResponse message. [#next-free-field: 11]
func (*ProcessingResponse) Descriptor
deprecated
func (*ProcessingResponse) Descriptor() ([]byte, []int)
Deprecated: Use ProcessingResponse.ProtoReflect.Descriptor instead.
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) GetRequestHeaders ¶
func (x *ProcessingResponse) GetRequestHeaders() *HeadersResponse
func (*ProcessingResponse) GetRequestTrailers ¶
func (x *ProcessingResponse) GetRequestTrailers() *TrailersResponse
func (*ProcessingResponse) GetResponse ¶
func (m *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) ProtoMessage ¶
func (*ProcessingResponse) ProtoMessage()
func (*ProcessingResponse) ProtoReflect ¶
func (x *ProcessingResponse) ProtoReflect() protoreflect.Message
func (*ProcessingResponse) Reset ¶
func (x *ProcessingResponse) Reset()
func (*ProcessingResponse) String ¶
func (x *ProcessingResponse) String() string
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 TrailersResponse ¶
type TrailersResponse struct { // Instructions on how to manipulate the trailers HeaderMutation *HeaderMutation `protobuf:"bytes,1,opt,name=header_mutation,json=headerMutation,proto3" json:"header_mutation,omitempty"` // contains filtered or unexported fields }
This message must be sent in response to an HttpTrailers message.
func (*TrailersResponse) Descriptor
deprecated
func (*TrailersResponse) Descriptor() ([]byte, []int)
Deprecated: Use TrailersResponse.ProtoReflect.Descriptor instead.
func (*TrailersResponse) GetHeaderMutation ¶
func (x *TrailersResponse) GetHeaderMutation() *HeaderMutation
func (*TrailersResponse) ProtoMessage ¶
func (*TrailersResponse) ProtoMessage()
func (*TrailersResponse) ProtoReflect ¶
func (x *TrailersResponse) ProtoReflect() protoreflect.Message
func (*TrailersResponse) Reset ¶
func (x *TrailersResponse) Reset()
func (*TrailersResponse) String ¶
func (x *TrailersResponse) String() string