Documentation
¶
Index ¶
- Constants
- Variables
- func RegisterExternalProcessorServer(s grpc.ServiceRegistrar, srv ExternalProcessorServer)
- 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() *v3.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 ExternalProcessorClient
- type ExternalProcessorServer
- type ExternalProcessor_ProcessClient
- type ExternalProcessor_ProcessServer
- type GrpcStatus
- type HeaderMutation
- func (*HeaderMutation) Descriptor() ([]byte, []int)deprecated
- func (x *HeaderMutation) GetRemoveHeaders() []string
- func (x *HeaderMutation) GetSetHeaders() []*v3.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.Structdeprecated
- func (x *HttpHeaders) GetEndOfStream() bool
- func (x *HttpHeaders) GetHeaders() *v3.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() []byte
- 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) GetAttributes() map[string]*structpb.Struct
- func (x *ProcessingRequest) GetMetadataContext() *v3.Metadata
- func (x *ProcessingRequest) GetObservabilityMode() 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() *v31.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
- type UnimplementedExternalProcessorServer
- type UnsafeExternalProcessorServer
Constants ¶
const (
ExternalProcessor_Process_FullMethodName = "/envoy.service.ext_proc.v3.ExternalProcessor/Process"
)
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 ExternalProcessor_ServiceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.ext_proc.v3.ExternalProcessor", HandlerType: (*ExternalProcessorServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "Process", Handler: _ExternalProcessor_Process_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/service/ext_proc/v3/external_processor.proto", }
ExternalProcessor_ServiceDesc is the grpc.ServiceDesc for ExternalProcessor service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
var File_envoy_service_ext_proc_v3_external_processor_proto protoreflect.FileDescriptor
Functions ¶
func RegisterExternalProcessorServer ¶
func RegisterExternalProcessorServer(s grpc.ServiceRegistrar, srv ExternalProcessorServer)
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 header value is encoded in the
// :ref:`raw_value <envoy_v3_api_field_config.core.v3.HeaderValue.raw_value>` field.
Trailers *v3.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 Envoy 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) 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() *v3.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 ExternalProcessorClient ¶
type ExternalProcessorClient interface {
// This begins the bidirectional stream that Envoy will use to
// give the server control over what the filter does. The actual
// protocol is described by the ProcessingRequest and ProcessingResponse
// messages below.
Process(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[ProcessingRequest, ProcessingResponse], error)
}
ExternalProcessorClient is the client API for ExternalProcessor service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
func NewExternalProcessorClient ¶
func NewExternalProcessorClient(cc grpc.ClientConnInterface) ExternalProcessorClient
type ExternalProcessorServer ¶
type ExternalProcessorServer interface {
// This begins the bidirectional stream that Envoy will use to
// give the server control over what the filter does. The actual
// protocol is described by the ProcessingRequest and ProcessingResponse
// messages below.
Process(grpc.BidiStreamingServer[ProcessingRequest, ProcessingResponse]) error
// contains filtered or unexported methods
}
ExternalProcessorServer is the server API for ExternalProcessor service. All implementations must embed UnimplementedExternalProcessorServer for forward compatibility.
type ExternalProcessor_ProcessClient ¶
type ExternalProcessor_ProcessClient = grpc.BidiStreamingClient[ProcessingRequest, ProcessingResponse]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type ExternalProcessor_ProcessServer ¶
type ExternalProcessor_ProcessServer = grpc.BidiStreamingServer[ProcessingRequest, ProcessingResponse]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
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 header value is encoded in the
// :ref:`raw_value <envoy_v3_api_field_config.core.v3.HeaderValue.raw_value>` field.
SetHeaders []*v3.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() []*v3.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) Descriptor
deprecated
func (*HttpBody) GetEndOfStream ¶
func (*HttpBody) ProtoMessage ¶
func (*HttpBody) ProtoMessage()
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 header value is encoded in the
// :ref:`raw_value <envoy_v3_api_field_config.core.v3.HeaderValue.raw_value>` field.
Headers *v3.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 `` /* 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
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() *v3.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 header value is encoded in the
// :ref:`raw_value <envoy_v3_api_field_config.core.v3.HeaderValue.raw_value>` field.
Trailers *v3.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() *v3.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 []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) Descriptor
deprecated
func (*ImmediateResponse) Descriptor() ([]byte, []int)
Deprecated: Use ImmediateResponse.ProtoReflect.Descriptor instead.
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) 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 {
// 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"`
// Dynamic metadata associated with the request.
MetadataContext *v3.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 across Envoy.
Attributes map[string]*structpb.Struct `` /* 161-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"`
// contains filtered or unexported fields
}
This represents the different types of messages that Envoy can send to an external processing server. [#next-free-field: 11]
func (*ProcessingRequest) Descriptor
deprecated
func (*ProcessingRequest) Descriptor() ([]byte, []int)
Deprecated: Use ProcessingRequest.ProtoReflect.Descriptor instead.
func (*ProcessingRequest) GetAttributes ¶
func (x *ProcessingRequest) GetAttributes() map[string]*structpb.Struct
func (*ProcessingRequest) GetMetadataContext ¶
func (x *ProcessingRequest) GetMetadataContext() *v3.Metadata
func (*ProcessingRequest) GetObservabilityMode ¶
func (x *ProcessingRequest) GetObservabilityMode() 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 “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 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"`
// 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 Envoy.
// It is also 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 *v31.ProcessingMode `protobuf:"bytes,9,opt,name=mode_override,json=modeOverride,proto3" json:"mode_override,omitempty"`
// When ext_proc server receives a request message, in case it needs more
// time to process the message, it sends back a ProcessingResponse message
// 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 “observability_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() *v31.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
type UnimplementedExternalProcessorServer ¶
type UnimplementedExternalProcessorServer struct{}
UnimplementedExternalProcessorServer must be embedded to have forward compatible implementations.
NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.
type UnsafeExternalProcessorServer ¶
type UnsafeExternalProcessorServer interface {
// contains filtered or unexported methods
}
UnsafeExternalProcessorServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to ExternalProcessorServer will result in compilation errors.