Documentation ¶
Index ¶
- Variables
- func RegisterExternalProcessorServer(s *grpc.Server, srv ExternalProcessorServer)
- type BodyMutation
- func (m *BodyMutation) Clone() proto.Message
- func (*BodyMutation) Descriptor() ([]byte, []int)deprecated
- func (m *BodyMutation) Equal(that interface{}) bool
- func (x *BodyMutation) GetBody() []byte
- func (x *BodyMutation) GetClearBody() bool
- func (m *BodyMutation) GetMutation() isBodyMutation_Mutation
- func (m *BodyMutation) Hash(hasher hash.Hash64) (uint64, error)
- 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
- func (m *BodyResponse) Clone() proto.Message
- func (*BodyResponse) Descriptor() ([]byte, []int)deprecated
- func (m *BodyResponse) Equal(that interface{}) bool
- func (x *BodyResponse) GetResponse() *CommonResponse
- func (m *BodyResponse) Hash(hasher hash.Hash64) (uint64, error)
- func (*BodyResponse) ProtoMessage()
- func (x *BodyResponse) ProtoReflect() protoreflect.Message
- func (x *BodyResponse) Reset()
- func (x *BodyResponse) String() string
- type CommonResponse
- func (m *CommonResponse) Clone() proto.Message
- func (*CommonResponse) Descriptor() ([]byte, []int)deprecated
- func (m *CommonResponse) Equal(that interface{}) bool
- 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 (m *CommonResponse) Hash(hasher hash.Hash64) (uint64, error)
- 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
- func (m *GrpcStatus) Clone() proto.Message
- func (*GrpcStatus) Descriptor() ([]byte, []int)deprecated
- func (m *GrpcStatus) Equal(that interface{}) bool
- func (x *GrpcStatus) GetStatus() uint32
- func (m *GrpcStatus) Hash(hasher hash.Hash64) (uint64, error)
- func (*GrpcStatus) ProtoMessage()
- func (x *GrpcStatus) ProtoReflect() protoreflect.Message
- func (x *GrpcStatus) Reset()
- func (x *GrpcStatus) String() string
- type HeaderMutation
- func (m *HeaderMutation) Clone() proto.Message
- func (*HeaderMutation) Descriptor() ([]byte, []int)deprecated
- func (m *HeaderMutation) Equal(that interface{}) bool
- func (x *HeaderMutation) GetRemoveHeaders() []string
- func (x *HeaderMutation) GetSetHeaders() []*v3.HeaderValueOption
- func (m *HeaderMutation) Hash(hasher hash.Hash64) (uint64, error)
- func (*HeaderMutation) ProtoMessage()
- func (x *HeaderMutation) ProtoReflect() protoreflect.Message
- func (x *HeaderMutation) Reset()
- func (x *HeaderMutation) String() string
- type HeadersResponse
- func (m *HeadersResponse) Clone() proto.Message
- func (*HeadersResponse) Descriptor() ([]byte, []int)deprecated
- func (m *HeadersResponse) Equal(that interface{}) bool
- func (x *HeadersResponse) GetResponse() *CommonResponse
- func (m *HeadersResponse) Hash(hasher hash.Hash64) (uint64, error)
- func (*HeadersResponse) ProtoMessage()
- func (x *HeadersResponse) ProtoReflect() protoreflect.Message
- func (x *HeadersResponse) Reset()
- func (x *HeadersResponse) String() string
- type HttpBody
- func (m *HttpBody) Clone() proto.Message
- func (*HttpBody) Descriptor() ([]byte, []int)deprecated
- func (m *HttpBody) Equal(that interface{}) bool
- func (x *HttpBody) GetBody() []byte
- func (x *HttpBody) GetEndOfStream() bool
- func (m *HttpBody) Hash(hasher hash.Hash64) (uint64, error)
- func (*HttpBody) ProtoMessage()
- func (x *HttpBody) ProtoReflect() protoreflect.Message
- func (x *HttpBody) Reset()
- func (x *HttpBody) String() string
- type HttpHeaders
- func (m *HttpHeaders) Clone() proto.Message
- func (*HttpHeaders) Descriptor() ([]byte, []int)deprecated
- func (m *HttpHeaders) Equal(that interface{}) bool
- func (x *HttpHeaders) GetAttributes() map[string]*_struct.Structdeprecated
- func (x *HttpHeaders) GetEndOfStream() bool
- func (x *HttpHeaders) GetHeaders() *v3.HeaderMap
- func (m *HttpHeaders) Hash(hasher hash.Hash64) (uint64, error)
- func (*HttpHeaders) ProtoMessage()
- func (x *HttpHeaders) ProtoReflect() protoreflect.Message
- func (x *HttpHeaders) Reset()
- func (x *HttpHeaders) String() string
- type HttpTrailers
- func (m *HttpTrailers) Clone() proto.Message
- func (*HttpTrailers) Descriptor() ([]byte, []int)deprecated
- func (m *HttpTrailers) Equal(that interface{}) bool
- func (x *HttpTrailers) GetTrailers() *v3.HeaderMap
- func (m *HttpTrailers) Hash(hasher hash.Hash64) (uint64, error)
- func (*HttpTrailers) ProtoMessage()
- func (x *HttpTrailers) ProtoReflect() protoreflect.Message
- func (x *HttpTrailers) Reset()
- func (x *HttpTrailers) String() string
- type ImmediateResponse
- func (m *ImmediateResponse) Clone() proto.Message
- func (*ImmediateResponse) Descriptor() ([]byte, []int)deprecated
- func (m *ImmediateResponse) Equal(that interface{}) bool
- 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 (m *ImmediateResponse) Hash(hasher hash.Hash64) (uint64, error)
- func (*ImmediateResponse) ProtoMessage()
- func (x *ImmediateResponse) ProtoReflect() protoreflect.Message
- func (x *ImmediateResponse) Reset()
- func (x *ImmediateResponse) String() string
- type ProcessingRequest
- func (m *ProcessingRequest) Clone() proto.Message
- func (*ProcessingRequest) Descriptor() ([]byte, []int)deprecated
- func (m *ProcessingRequest) Equal(that interface{}) bool
- func (x *ProcessingRequest) GetAttributes() map[string]*_struct.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 (m *ProcessingRequest) Hash(hasher hash.Hash64) (uint64, error)
- 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 (m *ProcessingResponse) Clone() proto.Message
- func (*ProcessingResponse) Descriptor() ([]byte, []int)deprecated
- func (m *ProcessingResponse) Equal(that interface{}) bool
- func (x *ProcessingResponse) GetDynamicMetadata() *_struct.Struct
- func (x *ProcessingResponse) GetImmediateResponse() *ImmediateResponse
- func (x *ProcessingResponse) GetModeOverride() *v31.ProcessingMode
- func (x *ProcessingResponse) GetOverrideMessageTimeout() *duration.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 (m *ProcessingResponse) Hash(hasher hash.Hash64) (uint64, error)
- 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 (m *TrailersResponse) Clone() proto.Message
- func (*TrailersResponse) Descriptor() ([]byte, []int)deprecated
- func (m *TrailersResponse) Equal(that interface{}) bool
- func (x *TrailersResponse) GetHeaderMutation() *HeaderMutation
- func (m *TrailersResponse) Hash(hasher hash.Hash64) (uint64, error)
- func (*TrailersResponse) ProtoMessage()
- func (x *TrailersResponse) ProtoReflect() protoreflect.Message
- func (x *TrailersResponse) Reset()
- func (x *TrailersResponse) String() string
- type UnimplementedExternalProcessorServer
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_github_com_solo_io_gloo_projects_gloo_api_external_envoy_service_ext_proc_v3_external_processor_proto protoreflect.FileDescriptor
Functions ¶
func RegisterExternalProcessorServer ¶
func RegisterExternalProcessorServer(s *grpc.Server, 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) Hash ¶
func (m *BodyMutation) Hash(hasher hash.Hash64) (uint64, error)
Hash function
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) Hash ¶
func (m *BodyResponse) Hash(hasher hash.Hash64) (uint64, error)
Hash function
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 `` /* 135-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_solo.io.envoy.config.core.v3.HeaderValue.raw_value>` field. // When it is false, the header value is encoded in the // :ref:`value <envoy_v3_api_field_solo.io.envoy.config.core.v3.HeaderValue.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) Hash ¶
func (m *CommonResponse) Hash(hasher hash.Hash64) (uint64, error)
Hash function
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) (ExternalProcessor_ProcessClient, error) }
ExternalProcessorClient is the client API for ExternalProcessor service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#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(ExternalProcessor_ProcessServer) error }
ExternalProcessorServer is the server API for ExternalProcessor service.
type ExternalProcessor_ProcessClient ¶
type ExternalProcessor_ProcessClient interface { Send(*ProcessingRequest) error Recv() (*ProcessingResponse, error) grpc.ClientStream }
type ExternalProcessor_ProcessServer ¶
type ExternalProcessor_ProcessServer interface { Send(*ProcessingResponse) error Recv() (*ProcessingRequest, error) grpc.ServerStream }
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) Hash ¶
func (m *GrpcStatus) Hash(hasher hash.Hash64) (uint64, error)
Hash function
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_solo.io.envoy.config.core.v3.HeaderValue.raw_value>` field. // When it is false, the header value is encoded in the // :ref:`value <envoy_v3_api_field_solo.io.envoy.config.core.v3.HeaderValue.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) Hash ¶
func (m *HeaderMutation) Hash(hasher hash.Hash64) (uint64, error)
Hash function
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) Equal ¶
func (m *HeadersResponse) Equal(that interface{}) bool
Equal function
func (*HeadersResponse) GetResponse ¶
func (x *HeadersResponse) GetResponse() *CommonResponse
func (*HeadersResponse) Hash ¶
func (m *HeadersResponse) Hash(hasher hash.Hash64) (uint64, error)
Hash function
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 “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_solo.io.envoy.config.core.v3.HeaderValue.raw_value>` field. // When it is false, the header value is encoded in the // :ref:`value <envoy_v3_api_field_solo.io.envoy.config.core.v3.HeaderValue.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 github.com/solo-io/gloo/projects/gloo/api/external/envoy/service/ext_proc/v3/external_processor.proto. Attributes map[string]*_struct.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]*_struct.Struct
Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/external/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) Hash ¶
func (m *HttpHeaders) Hash(hasher hash.Hash64) (uint64, error)
Hash function
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_solo.io.envoy.config.core.v3.HeaderValue.raw_value>` field. // When it is false, the header value is encoded in the // :ref:`value <envoy_v3_api_field_solo.io.envoy.config.core.v3.HeaderValue.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) Hash ¶
func (m *HttpTrailers) Hash(hasher hash.Hash64) (uint64, error)
Hash function
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) Equal ¶
func (m *ImmediateResponse) Equal(that interface{}) bool
Equal function
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) Hash ¶
func (m *ImmediateResponse) Hash(hasher hash.Hash64) (uint64, error)
Hash function
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]*_struct.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) Equal ¶
func (m *ProcessingRequest) Equal(that interface{}) bool
Equal function
func (*ProcessingRequest) GetAttributes ¶
func (x *ProcessingRequest) GetAttributes() map[string]*_struct.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) Hash ¶
func (m *ProcessingRequest) Hash(hasher hash.Hash64) (uint64, error)
Hash function
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 *_struct.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 *duration.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) Clone ¶
func (m *ProcessingResponse) Clone() proto.Message
Clone function
func (*ProcessingResponse) Descriptor
deprecated
func (*ProcessingResponse) Descriptor() ([]byte, []int)
Deprecated: Use ProcessingResponse.ProtoReflect.Descriptor instead.
func (*ProcessingResponse) Equal ¶
func (m *ProcessingResponse) Equal(that interface{}) bool
Equal function
func (*ProcessingResponse) GetDynamicMetadata ¶
func (x *ProcessingResponse) GetDynamicMetadata() *_struct.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() *duration.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) Hash ¶
func (m *ProcessingResponse) Hash(hasher hash.Hash64) (uint64, error)
Hash function
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) Equal ¶
func (m *TrailersResponse) Equal(that interface{}) bool
Equal function
func (*TrailersResponse) GetHeaderMutation ¶
func (x *TrailersResponse) GetHeaderMutation() *HeaderMutation
func (*TrailersResponse) Hash ¶
func (m *TrailersResponse) Hash(hasher hash.Hash64) (uint64, error)
Hash function
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 can be embedded to have forward compatible implementations.
func (*UnimplementedExternalProcessorServer) Process ¶
func (*UnimplementedExternalProcessorServer) Process(ExternalProcessor_ProcessServer) error