github.com/hxx258456/ccgo@v0.0.5-0.20230213014102-48b35f46f66f/go-control-plane/envoy/service/ext_proc/v3alpha/external_processor.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.25.0
     4  // 	protoc        v3.16.0
     5  // source: envoy/service/ext_proc/v3alpha/external_processor.proto
     6  
     7  package envoy_service_ext_proc_v3alpha
     8  
     9  import (
    10  	context "context"
    11  	_ "github.com/cncf/xds/go/udpa/annotations"
    12  	v3 "github.com/hxx258456/ccgo/go-control-plane/envoy/config/core/v3"
    13  	v3alpha "github.com/hxx258456/ccgo/go-control-plane/envoy/extensions/filters/http/ext_proc/v3alpha"
    14  	v31 "github.com/hxx258456/ccgo/go-control-plane/envoy/type/v3"
    15  	_ "github.com/envoyproxy/protoc-gen-validate/validate"
    16  	proto "github.com/golang/protobuf/proto"
    17  	_struct "github.com/golang/protobuf/ptypes/struct"
    18  	grpc "github.com/hxx258456/ccgo/grpc"
    19  	codes "github.com/hxx258456/ccgo/grpc/codes"
    20  	status "github.com/hxx258456/ccgo/grpc/status"
    21  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    22  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    23  	reflect "reflect"
    24  	sync "sync"
    25  )
    26  
    27  const (
    28  	// Verify that this generated code is sufficiently up-to-date.
    29  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    30  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    31  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    32  )
    33  
    34  // This is a compile-time assertion that a sufficiently up-to-date version
    35  // of the legacy proto package is being used.
    36  const _ = proto.ProtoPackageIsVersion4
    37  
    38  type CommonResponse_ResponseStatus int32
    39  
    40  const (
    41  	// Apply the mutation instructions in this message to the
    42  	// request or response, and then continue processing the filter
    43  	// stream as normal. This is the default.
    44  	CommonResponse_CONTINUE CommonResponse_ResponseStatus = 0
    45  	// Apply the specified header mutation, replace the body with the body
    46  	// specified in the body mutation (if present), and do not send any
    47  	// further messages for this request or response even if the processing
    48  	// mode is configured to do so.
    49  	//
    50  	// When used in response to a request_headers or response_headers message,
    51  	// this status makes it possible to either completely replace the body
    52  	// while discarding the original body, or to add a body to a message that
    53  	// formerly did not have one.
    54  	//
    55  	// In other words, this response makes it possible to turn an HTTP GET
    56  	// into a POST, PUT, or PATCH.
    57  	CommonResponse_CONTINUE_AND_REPLACE CommonResponse_ResponseStatus = 1
    58  )
    59  
    60  // Enum value maps for CommonResponse_ResponseStatus.
    61  var (
    62  	CommonResponse_ResponseStatus_name = map[int32]string{
    63  		0: "CONTINUE",
    64  		1: "CONTINUE_AND_REPLACE",
    65  	}
    66  	CommonResponse_ResponseStatus_value = map[string]int32{
    67  		"CONTINUE":             0,
    68  		"CONTINUE_AND_REPLACE": 1,
    69  	}
    70  )
    71  
    72  func (x CommonResponse_ResponseStatus) Enum() *CommonResponse_ResponseStatus {
    73  	p := new(CommonResponse_ResponseStatus)
    74  	*p = x
    75  	return p
    76  }
    77  
    78  func (x CommonResponse_ResponseStatus) String() string {
    79  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    80  }
    81  
    82  func (CommonResponse_ResponseStatus) Descriptor() protoreflect.EnumDescriptor {
    83  	return file_envoy_service_ext_proc_v3alpha_external_processor_proto_enumTypes[0].Descriptor()
    84  }
    85  
    86  func (CommonResponse_ResponseStatus) Type() protoreflect.EnumType {
    87  	return &file_envoy_service_ext_proc_v3alpha_external_processor_proto_enumTypes[0]
    88  }
    89  
    90  func (x CommonResponse_ResponseStatus) Number() protoreflect.EnumNumber {
    91  	return protoreflect.EnumNumber(x)
    92  }
    93  
    94  // Deprecated: Use CommonResponse_ResponseStatus.Descriptor instead.
    95  func (CommonResponse_ResponseStatus) EnumDescriptor() ([]byte, []int) {
    96  	return file_envoy_service_ext_proc_v3alpha_external_processor_proto_rawDescGZIP(), []int{8, 0}
    97  }
    98  
    99  // This represents the different types of messages that Envoy can send
   100  // to an external processing server.
   101  // [#next-free-field: 8]
   102  type ProcessingRequest struct {
   103  	state         protoimpl.MessageState
   104  	sizeCache     protoimpl.SizeCache
   105  	unknownFields protoimpl.UnknownFields
   106  
   107  	// Specify whether the filter that sent this request is running in synchronous
   108  	// or asynchronous mode. The choice of synchronous or asynchronous mode
   109  	// can be set in the filter configuration, and defaults to false.
   110  	//
   111  	// * A value of "false" indicates that the server must respond
   112  	//   to this message by either sending back a matching ProcessingResponse message,
   113  	//   or by closing the stream.
   114  	// * A value of "true" indicates that the server must not respond to this
   115  	//   message, although it may still close the stream to indicate that no more messages
   116  	//   are needed.
   117  	//
   118  	AsyncMode bool `protobuf:"varint,1,opt,name=async_mode,json=asyncMode,proto3" json:"async_mode,omitempty"`
   119  	// Each request message will include one of the following sub-messages. Which
   120  	// ones are set for a particular HTTP request/response depend on the
   121  	// processing mode.
   122  	//
   123  	// Types that are assignable to Request:
   124  	//	*ProcessingRequest_RequestHeaders
   125  	//	*ProcessingRequest_ResponseHeaders
   126  	//	*ProcessingRequest_RequestBody
   127  	//	*ProcessingRequest_ResponseBody
   128  	//	*ProcessingRequest_RequestTrailers
   129  	//	*ProcessingRequest_ResponseTrailers
   130  	Request isProcessingRequest_Request `protobuf_oneof:"request"`
   131  }
   132  
   133  func (x *ProcessingRequest) Reset() {
   134  	*x = ProcessingRequest{}
   135  	if protoimpl.UnsafeEnabled {
   136  		mi := &file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[0]
   137  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   138  		ms.StoreMessageInfo(mi)
   139  	}
   140  }
   141  
   142  func (x *ProcessingRequest) String() string {
   143  	return protoimpl.X.MessageStringOf(x)
   144  }
   145  
   146  func (*ProcessingRequest) ProtoMessage() {}
   147  
   148  func (x *ProcessingRequest) ProtoReflect() protoreflect.Message {
   149  	mi := &file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[0]
   150  	if protoimpl.UnsafeEnabled && x != nil {
   151  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   152  		if ms.LoadMessageInfo() == nil {
   153  			ms.StoreMessageInfo(mi)
   154  		}
   155  		return ms
   156  	}
   157  	return mi.MessageOf(x)
   158  }
   159  
   160  // Deprecated: Use ProcessingRequest.ProtoReflect.Descriptor instead.
   161  func (*ProcessingRequest) Descriptor() ([]byte, []int) {
   162  	return file_envoy_service_ext_proc_v3alpha_external_processor_proto_rawDescGZIP(), []int{0}
   163  }
   164  
   165  func (x *ProcessingRequest) GetAsyncMode() bool {
   166  	if x != nil {
   167  		return x.AsyncMode
   168  	}
   169  	return false
   170  }
   171  
   172  func (m *ProcessingRequest) GetRequest() isProcessingRequest_Request {
   173  	if m != nil {
   174  		return m.Request
   175  	}
   176  	return nil
   177  }
   178  
   179  func (x *ProcessingRequest) GetRequestHeaders() *HttpHeaders {
   180  	if x, ok := x.GetRequest().(*ProcessingRequest_RequestHeaders); ok {
   181  		return x.RequestHeaders
   182  	}
   183  	return nil
   184  }
   185  
   186  func (x *ProcessingRequest) GetResponseHeaders() *HttpHeaders {
   187  	if x, ok := x.GetRequest().(*ProcessingRequest_ResponseHeaders); ok {
   188  		return x.ResponseHeaders
   189  	}
   190  	return nil
   191  }
   192  
   193  func (x *ProcessingRequest) GetRequestBody() *HttpBody {
   194  	if x, ok := x.GetRequest().(*ProcessingRequest_RequestBody); ok {
   195  		return x.RequestBody
   196  	}
   197  	return nil
   198  }
   199  
   200  func (x *ProcessingRequest) GetResponseBody() *HttpBody {
   201  	if x, ok := x.GetRequest().(*ProcessingRequest_ResponseBody); ok {
   202  		return x.ResponseBody
   203  	}
   204  	return nil
   205  }
   206  
   207  func (x *ProcessingRequest) GetRequestTrailers() *HttpTrailers {
   208  	if x, ok := x.GetRequest().(*ProcessingRequest_RequestTrailers); ok {
   209  		return x.RequestTrailers
   210  	}
   211  	return nil
   212  }
   213  
   214  func (x *ProcessingRequest) GetResponseTrailers() *HttpTrailers {
   215  	if x, ok := x.GetRequest().(*ProcessingRequest_ResponseTrailers); ok {
   216  		return x.ResponseTrailers
   217  	}
   218  	return nil
   219  }
   220  
   221  type isProcessingRequest_Request interface {
   222  	isProcessingRequest_Request()
   223  }
   224  
   225  type ProcessingRequest_RequestHeaders struct {
   226  	// Information about the HTTP request headers, as well as peer info and additional
   227  	// properties. Unless "async_mode" is true, the server must send back a
   228  	// HeaderResponse message, an ImmediateResponse message, or close the stream.
   229  	RequestHeaders *HttpHeaders `protobuf:"bytes,2,opt,name=request_headers,json=requestHeaders,proto3,oneof"`
   230  }
   231  
   232  type ProcessingRequest_ResponseHeaders struct {
   233  	// Information about the HTTP response headers, as well as peer info and additional
   234  	// properties. Unless "async_mode" is true, the server must send back a
   235  	// HeaderResponse message or close the stream.
   236  	ResponseHeaders *HttpHeaders `protobuf:"bytes,3,opt,name=response_headers,json=responseHeaders,proto3,oneof"`
   237  }
   238  
   239  type ProcessingRequest_RequestBody struct {
   240  	// A chunk of the HTTP request body. Unless "async_mode" is true, the server must send back
   241  	// a BodyResponse message, an ImmediateResponse message, or close the stream.
   242  	RequestBody *HttpBody `protobuf:"bytes,4,opt,name=request_body,json=requestBody,proto3,oneof"`
   243  }
   244  
   245  type ProcessingRequest_ResponseBody struct {
   246  	// A chunk of the HTTP request body. Unless "async_mode" is true, the server must send back
   247  	// a BodyResponse message or close the stream.
   248  	ResponseBody *HttpBody `protobuf:"bytes,5,opt,name=response_body,json=responseBody,proto3,oneof"`
   249  }
   250  
   251  type ProcessingRequest_RequestTrailers struct {
   252  	// The HTTP trailers for the request path. Unless "async_mode" is true, the server
   253  	// must send back a TrailerResponse message or close the stream.
   254  	//
   255  	// This message is only sent if the trailers processing mode is set to "SEND".
   256  	// If there are no trailers on the original downstream request, then this message
   257  	// will only be sent (with empty trailers waiting to be populated) if the
   258  	// processing mode is set before the request headers are sent, such as
   259  	// in the filter configuration.
   260  	RequestTrailers *HttpTrailers `protobuf:"bytes,6,opt,name=request_trailers,json=requestTrailers,proto3,oneof"`
   261  }
   262  
   263  type ProcessingRequest_ResponseTrailers struct {
   264  	// The HTTP trailers for the response path. Unless "async_mode" is true, the server
   265  	// must send back a TrailerResponse message or close the stream.
   266  	//
   267  	// This message is only sent if the trailers processing mode is set to "SEND".
   268  	// If there are no trailers on the original downstream request, then this message
   269  	// will only be sent (with empty trailers waiting to be populated) if the
   270  	// processing mode is set before the request headers are sent, such as
   271  	// in the filter configuration.
   272  	ResponseTrailers *HttpTrailers `protobuf:"bytes,7,opt,name=response_trailers,json=responseTrailers,proto3,oneof"`
   273  }
   274  
   275  func (*ProcessingRequest_RequestHeaders) isProcessingRequest_Request() {}
   276  
   277  func (*ProcessingRequest_ResponseHeaders) isProcessingRequest_Request() {}
   278  
   279  func (*ProcessingRequest_RequestBody) isProcessingRequest_Request() {}
   280  
   281  func (*ProcessingRequest_ResponseBody) isProcessingRequest_Request() {}
   282  
   283  func (*ProcessingRequest_RequestTrailers) isProcessingRequest_Request() {}
   284  
   285  func (*ProcessingRequest_ResponseTrailers) isProcessingRequest_Request() {}
   286  
   287  // For every ProcessingRequest received by the server with the "async_mode" field
   288  // set to false, the server must send back exactly one ProcessingResponse message.
   289  // [#next-free-field: 10]
   290  type ProcessingResponse struct {
   291  	state         protoimpl.MessageState
   292  	sizeCache     protoimpl.SizeCache
   293  	unknownFields protoimpl.UnknownFields
   294  
   295  	// Types that are assignable to Response:
   296  	//	*ProcessingResponse_RequestHeaders
   297  	//	*ProcessingResponse_ResponseHeaders
   298  	//	*ProcessingResponse_RequestBody
   299  	//	*ProcessingResponse_ResponseBody
   300  	//	*ProcessingResponse_RequestTrailers
   301  	//	*ProcessingResponse_ResponseTrailers
   302  	//	*ProcessingResponse_ImmediateResponse
   303  	Response isProcessingResponse_Response `protobuf_oneof:"response"`
   304  	// [#not-implemented-hide:]
   305  	// Optional metadata that will be emitted as dynamic metadata to be consumed by the next
   306  	// filter. This metadata will be placed in the namespace "envoy.filters.http.ext_proc".
   307  	DynamicMetadata *_struct.Struct `protobuf:"bytes,8,opt,name=dynamic_metadata,json=dynamicMetadata,proto3" json:"dynamic_metadata,omitempty"`
   308  	// Override how parts of the HTTP request and response are processed
   309  	// for the duration of this particular request/response only. Servers
   310  	// may use this to intelligently control how requests are processed
   311  	// based on the headers and other metadata that they see.
   312  	ModeOverride *v3alpha.ProcessingMode `protobuf:"bytes,9,opt,name=mode_override,json=modeOverride,proto3" json:"mode_override,omitempty"`
   313  }
   314  
   315  func (x *ProcessingResponse) Reset() {
   316  	*x = ProcessingResponse{}
   317  	if protoimpl.UnsafeEnabled {
   318  		mi := &file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[1]
   319  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   320  		ms.StoreMessageInfo(mi)
   321  	}
   322  }
   323  
   324  func (x *ProcessingResponse) String() string {
   325  	return protoimpl.X.MessageStringOf(x)
   326  }
   327  
   328  func (*ProcessingResponse) ProtoMessage() {}
   329  
   330  func (x *ProcessingResponse) ProtoReflect() protoreflect.Message {
   331  	mi := &file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[1]
   332  	if protoimpl.UnsafeEnabled && x != nil {
   333  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   334  		if ms.LoadMessageInfo() == nil {
   335  			ms.StoreMessageInfo(mi)
   336  		}
   337  		return ms
   338  	}
   339  	return mi.MessageOf(x)
   340  }
   341  
   342  // Deprecated: Use ProcessingResponse.ProtoReflect.Descriptor instead.
   343  func (*ProcessingResponse) Descriptor() ([]byte, []int) {
   344  	return file_envoy_service_ext_proc_v3alpha_external_processor_proto_rawDescGZIP(), []int{1}
   345  }
   346  
   347  func (m *ProcessingResponse) GetResponse() isProcessingResponse_Response {
   348  	if m != nil {
   349  		return m.Response
   350  	}
   351  	return nil
   352  }
   353  
   354  func (x *ProcessingResponse) GetRequestHeaders() *HeadersResponse {
   355  	if x, ok := x.GetResponse().(*ProcessingResponse_RequestHeaders); ok {
   356  		return x.RequestHeaders
   357  	}
   358  	return nil
   359  }
   360  
   361  func (x *ProcessingResponse) GetResponseHeaders() *HeadersResponse {
   362  	if x, ok := x.GetResponse().(*ProcessingResponse_ResponseHeaders); ok {
   363  		return x.ResponseHeaders
   364  	}
   365  	return nil
   366  }
   367  
   368  func (x *ProcessingResponse) GetRequestBody() *BodyResponse {
   369  	if x, ok := x.GetResponse().(*ProcessingResponse_RequestBody); ok {
   370  		return x.RequestBody
   371  	}
   372  	return nil
   373  }
   374  
   375  func (x *ProcessingResponse) GetResponseBody() *BodyResponse {
   376  	if x, ok := x.GetResponse().(*ProcessingResponse_ResponseBody); ok {
   377  		return x.ResponseBody
   378  	}
   379  	return nil
   380  }
   381  
   382  func (x *ProcessingResponse) GetRequestTrailers() *TrailersResponse {
   383  	if x, ok := x.GetResponse().(*ProcessingResponse_RequestTrailers); ok {
   384  		return x.RequestTrailers
   385  	}
   386  	return nil
   387  }
   388  
   389  func (x *ProcessingResponse) GetResponseTrailers() *TrailersResponse {
   390  	if x, ok := x.GetResponse().(*ProcessingResponse_ResponseTrailers); ok {
   391  		return x.ResponseTrailers
   392  	}
   393  	return nil
   394  }
   395  
   396  func (x *ProcessingResponse) GetImmediateResponse() *ImmediateResponse {
   397  	if x, ok := x.GetResponse().(*ProcessingResponse_ImmediateResponse); ok {
   398  		return x.ImmediateResponse
   399  	}
   400  	return nil
   401  }
   402  
   403  func (x *ProcessingResponse) GetDynamicMetadata() *_struct.Struct {
   404  	if x != nil {
   405  		return x.DynamicMetadata
   406  	}
   407  	return nil
   408  }
   409  
   410  func (x *ProcessingResponse) GetModeOverride() *v3alpha.ProcessingMode {
   411  	if x != nil {
   412  		return x.ModeOverride
   413  	}
   414  	return nil
   415  }
   416  
   417  type isProcessingResponse_Response interface {
   418  	isProcessingResponse_Response()
   419  }
   420  
   421  type ProcessingResponse_RequestHeaders struct {
   422  	// The server must send back this message in response to a message with the
   423  	// "request_headers" field set.
   424  	RequestHeaders *HeadersResponse `protobuf:"bytes,1,opt,name=request_headers,json=requestHeaders,proto3,oneof"`
   425  }
   426  
   427  type ProcessingResponse_ResponseHeaders struct {
   428  	// The server must send back this message in response to a message with the
   429  	// "response_headers" field set.
   430  	ResponseHeaders *HeadersResponse `protobuf:"bytes,2,opt,name=response_headers,json=responseHeaders,proto3,oneof"`
   431  }
   432  
   433  type ProcessingResponse_RequestBody struct {
   434  	// The server must send back this message in response to a message with
   435  	// the "request_body" field set.
   436  	RequestBody *BodyResponse `protobuf:"bytes,3,opt,name=request_body,json=requestBody,proto3,oneof"`
   437  }
   438  
   439  type ProcessingResponse_ResponseBody struct {
   440  	// The server must send back this message in response to a message with
   441  	// the "response_body" field set.
   442  	ResponseBody *BodyResponse `protobuf:"bytes,4,opt,name=response_body,json=responseBody,proto3,oneof"`
   443  }
   444  
   445  type ProcessingResponse_RequestTrailers struct {
   446  	// The server must send back this message in response to a message with
   447  	// the "request_trailers" field set.
   448  	RequestTrailers *TrailersResponse `protobuf:"bytes,5,opt,name=request_trailers,json=requestTrailers,proto3,oneof"`
   449  }
   450  
   451  type ProcessingResponse_ResponseTrailers struct {
   452  	// The server must send back this message in response to a message with
   453  	// the "response_trailers" field set.
   454  	ResponseTrailers *TrailersResponse `protobuf:"bytes,6,opt,name=response_trailers,json=responseTrailers,proto3,oneof"`
   455  }
   456  
   457  type ProcessingResponse_ImmediateResponse struct {
   458  	// If specified, attempt to create a locally generated response, send it
   459  	// downstream, and stop processing additional filters and ignore any
   460  	// additional messages received from the remote server for this request or
   461  	// response. If a response has already started -- for example, if this
   462  	// message is sent response to a "response_body" message -- then
   463  	// this will either ship the reply directly to the downstream codec,
   464  	// or reset the stream.
   465  	ImmediateResponse *ImmediateResponse `protobuf:"bytes,7,opt,name=immediate_response,json=immediateResponse,proto3,oneof"`
   466  }
   467  
   468  func (*ProcessingResponse_RequestHeaders) isProcessingResponse_Response() {}
   469  
   470  func (*ProcessingResponse_ResponseHeaders) isProcessingResponse_Response() {}
   471  
   472  func (*ProcessingResponse_RequestBody) isProcessingResponse_Response() {}
   473  
   474  func (*ProcessingResponse_ResponseBody) isProcessingResponse_Response() {}
   475  
   476  func (*ProcessingResponse_RequestTrailers) isProcessingResponse_Response() {}
   477  
   478  func (*ProcessingResponse_ResponseTrailers) isProcessingResponse_Response() {}
   479  
   480  func (*ProcessingResponse_ImmediateResponse) isProcessingResponse_Response() {}
   481  
   482  // This message is sent to the external server when the HTTP request and responses
   483  // are first received.
   484  type HttpHeaders struct {
   485  	state         protoimpl.MessageState
   486  	sizeCache     protoimpl.SizeCache
   487  	unknownFields protoimpl.UnknownFields
   488  
   489  	// The HTTP request headers. All header keys will be
   490  	// lower-cased, because HTTP header keys are case-insensitive.
   491  	Headers *v3.HeaderMap `protobuf:"bytes,1,opt,name=headers,proto3" json:"headers,omitempty"`
   492  	// [#not-implemented-hide:]
   493  	// The values of properties selected by the "request_attributes"
   494  	// or "response_attributes" list in the configuration. Each entry
   495  	// in the list is populated
   496  	// from the standard :ref:`attributes <arch_overview_attributes>`
   497  	// supported across Envoy.
   498  	Attributes map[string]*_struct.Struct `protobuf:"bytes,2,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   499  	// If true, then there is no message body associated with this
   500  	// request or response.
   501  	EndOfStream bool `protobuf:"varint,3,opt,name=end_of_stream,json=endOfStream,proto3" json:"end_of_stream,omitempty"`
   502  }
   503  
   504  func (x *HttpHeaders) Reset() {
   505  	*x = HttpHeaders{}
   506  	if protoimpl.UnsafeEnabled {
   507  		mi := &file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[2]
   508  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   509  		ms.StoreMessageInfo(mi)
   510  	}
   511  }
   512  
   513  func (x *HttpHeaders) String() string {
   514  	return protoimpl.X.MessageStringOf(x)
   515  }
   516  
   517  func (*HttpHeaders) ProtoMessage() {}
   518  
   519  func (x *HttpHeaders) ProtoReflect() protoreflect.Message {
   520  	mi := &file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[2]
   521  	if protoimpl.UnsafeEnabled && x != nil {
   522  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   523  		if ms.LoadMessageInfo() == nil {
   524  			ms.StoreMessageInfo(mi)
   525  		}
   526  		return ms
   527  	}
   528  	return mi.MessageOf(x)
   529  }
   530  
   531  // Deprecated: Use HttpHeaders.ProtoReflect.Descriptor instead.
   532  func (*HttpHeaders) Descriptor() ([]byte, []int) {
   533  	return file_envoy_service_ext_proc_v3alpha_external_processor_proto_rawDescGZIP(), []int{2}
   534  }
   535  
   536  func (x *HttpHeaders) GetHeaders() *v3.HeaderMap {
   537  	if x != nil {
   538  		return x.Headers
   539  	}
   540  	return nil
   541  }
   542  
   543  func (x *HttpHeaders) GetAttributes() map[string]*_struct.Struct {
   544  	if x != nil {
   545  		return x.Attributes
   546  	}
   547  	return nil
   548  }
   549  
   550  func (x *HttpHeaders) GetEndOfStream() bool {
   551  	if x != nil {
   552  		return x.EndOfStream
   553  	}
   554  	return false
   555  }
   556  
   557  // This message contains the message body that Envoy sends to the external server.
   558  type HttpBody struct {
   559  	state         protoimpl.MessageState
   560  	sizeCache     protoimpl.SizeCache
   561  	unknownFields protoimpl.UnknownFields
   562  
   563  	Body        []byte `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
   564  	EndOfStream bool   `protobuf:"varint,2,opt,name=end_of_stream,json=endOfStream,proto3" json:"end_of_stream,omitempty"`
   565  }
   566  
   567  func (x *HttpBody) Reset() {
   568  	*x = HttpBody{}
   569  	if protoimpl.UnsafeEnabled {
   570  		mi := &file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[3]
   571  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   572  		ms.StoreMessageInfo(mi)
   573  	}
   574  }
   575  
   576  func (x *HttpBody) String() string {
   577  	return protoimpl.X.MessageStringOf(x)
   578  }
   579  
   580  func (*HttpBody) ProtoMessage() {}
   581  
   582  func (x *HttpBody) ProtoReflect() protoreflect.Message {
   583  	mi := &file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[3]
   584  	if protoimpl.UnsafeEnabled && x != nil {
   585  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   586  		if ms.LoadMessageInfo() == nil {
   587  			ms.StoreMessageInfo(mi)
   588  		}
   589  		return ms
   590  	}
   591  	return mi.MessageOf(x)
   592  }
   593  
   594  // Deprecated: Use HttpBody.ProtoReflect.Descriptor instead.
   595  func (*HttpBody) Descriptor() ([]byte, []int) {
   596  	return file_envoy_service_ext_proc_v3alpha_external_processor_proto_rawDescGZIP(), []int{3}
   597  }
   598  
   599  func (x *HttpBody) GetBody() []byte {
   600  	if x != nil {
   601  		return x.Body
   602  	}
   603  	return nil
   604  }
   605  
   606  func (x *HttpBody) GetEndOfStream() bool {
   607  	if x != nil {
   608  		return x.EndOfStream
   609  	}
   610  	return false
   611  }
   612  
   613  // This message contains the trailers.
   614  type HttpTrailers struct {
   615  	state         protoimpl.MessageState
   616  	sizeCache     protoimpl.SizeCache
   617  	unknownFields protoimpl.UnknownFields
   618  
   619  	Trailers *v3.HeaderMap `protobuf:"bytes,1,opt,name=trailers,proto3" json:"trailers,omitempty"`
   620  }
   621  
   622  func (x *HttpTrailers) Reset() {
   623  	*x = HttpTrailers{}
   624  	if protoimpl.UnsafeEnabled {
   625  		mi := &file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[4]
   626  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   627  		ms.StoreMessageInfo(mi)
   628  	}
   629  }
   630  
   631  func (x *HttpTrailers) String() string {
   632  	return protoimpl.X.MessageStringOf(x)
   633  }
   634  
   635  func (*HttpTrailers) ProtoMessage() {}
   636  
   637  func (x *HttpTrailers) ProtoReflect() protoreflect.Message {
   638  	mi := &file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[4]
   639  	if protoimpl.UnsafeEnabled && x != nil {
   640  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   641  		if ms.LoadMessageInfo() == nil {
   642  			ms.StoreMessageInfo(mi)
   643  		}
   644  		return ms
   645  	}
   646  	return mi.MessageOf(x)
   647  }
   648  
   649  // Deprecated: Use HttpTrailers.ProtoReflect.Descriptor instead.
   650  func (*HttpTrailers) Descriptor() ([]byte, []int) {
   651  	return file_envoy_service_ext_proc_v3alpha_external_processor_proto_rawDescGZIP(), []int{4}
   652  }
   653  
   654  func (x *HttpTrailers) GetTrailers() *v3.HeaderMap {
   655  	if x != nil {
   656  		return x.Trailers
   657  	}
   658  	return nil
   659  }
   660  
   661  // This message must be sent in response to an HttpHeaders message.
   662  type HeadersResponse struct {
   663  	state         protoimpl.MessageState
   664  	sizeCache     protoimpl.SizeCache
   665  	unknownFields protoimpl.UnknownFields
   666  
   667  	Response *CommonResponse `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"`
   668  }
   669  
   670  func (x *HeadersResponse) Reset() {
   671  	*x = HeadersResponse{}
   672  	if protoimpl.UnsafeEnabled {
   673  		mi := &file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[5]
   674  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   675  		ms.StoreMessageInfo(mi)
   676  	}
   677  }
   678  
   679  func (x *HeadersResponse) String() string {
   680  	return protoimpl.X.MessageStringOf(x)
   681  }
   682  
   683  func (*HeadersResponse) ProtoMessage() {}
   684  
   685  func (x *HeadersResponse) ProtoReflect() protoreflect.Message {
   686  	mi := &file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[5]
   687  	if protoimpl.UnsafeEnabled && x != nil {
   688  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   689  		if ms.LoadMessageInfo() == nil {
   690  			ms.StoreMessageInfo(mi)
   691  		}
   692  		return ms
   693  	}
   694  	return mi.MessageOf(x)
   695  }
   696  
   697  // Deprecated: Use HeadersResponse.ProtoReflect.Descriptor instead.
   698  func (*HeadersResponse) Descriptor() ([]byte, []int) {
   699  	return file_envoy_service_ext_proc_v3alpha_external_processor_proto_rawDescGZIP(), []int{5}
   700  }
   701  
   702  func (x *HeadersResponse) GetResponse() *CommonResponse {
   703  	if x != nil {
   704  		return x.Response
   705  	}
   706  	return nil
   707  }
   708  
   709  // This message must be sent in response to an HttpTrailers message.
   710  type TrailersResponse struct {
   711  	state         protoimpl.MessageState
   712  	sizeCache     protoimpl.SizeCache
   713  	unknownFields protoimpl.UnknownFields
   714  
   715  	// Instructions on how to manipulate the trailers
   716  	HeaderMutation *HeaderMutation `protobuf:"bytes,1,opt,name=header_mutation,json=headerMutation,proto3" json:"header_mutation,omitempty"`
   717  }
   718  
   719  func (x *TrailersResponse) Reset() {
   720  	*x = TrailersResponse{}
   721  	if protoimpl.UnsafeEnabled {
   722  		mi := &file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[6]
   723  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   724  		ms.StoreMessageInfo(mi)
   725  	}
   726  }
   727  
   728  func (x *TrailersResponse) String() string {
   729  	return protoimpl.X.MessageStringOf(x)
   730  }
   731  
   732  func (*TrailersResponse) ProtoMessage() {}
   733  
   734  func (x *TrailersResponse) ProtoReflect() protoreflect.Message {
   735  	mi := &file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[6]
   736  	if protoimpl.UnsafeEnabled && x != nil {
   737  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   738  		if ms.LoadMessageInfo() == nil {
   739  			ms.StoreMessageInfo(mi)
   740  		}
   741  		return ms
   742  	}
   743  	return mi.MessageOf(x)
   744  }
   745  
   746  // Deprecated: Use TrailersResponse.ProtoReflect.Descriptor instead.
   747  func (*TrailersResponse) Descriptor() ([]byte, []int) {
   748  	return file_envoy_service_ext_proc_v3alpha_external_processor_proto_rawDescGZIP(), []int{6}
   749  }
   750  
   751  func (x *TrailersResponse) GetHeaderMutation() *HeaderMutation {
   752  	if x != nil {
   753  		return x.HeaderMutation
   754  	}
   755  	return nil
   756  }
   757  
   758  // This message must be sent in response to an HttpBody message.
   759  type BodyResponse struct {
   760  	state         protoimpl.MessageState
   761  	sizeCache     protoimpl.SizeCache
   762  	unknownFields protoimpl.UnknownFields
   763  
   764  	Response *CommonResponse `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"`
   765  }
   766  
   767  func (x *BodyResponse) Reset() {
   768  	*x = BodyResponse{}
   769  	if protoimpl.UnsafeEnabled {
   770  		mi := &file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[7]
   771  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   772  		ms.StoreMessageInfo(mi)
   773  	}
   774  }
   775  
   776  func (x *BodyResponse) String() string {
   777  	return protoimpl.X.MessageStringOf(x)
   778  }
   779  
   780  func (*BodyResponse) ProtoMessage() {}
   781  
   782  func (x *BodyResponse) ProtoReflect() protoreflect.Message {
   783  	mi := &file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[7]
   784  	if protoimpl.UnsafeEnabled && x != nil {
   785  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   786  		if ms.LoadMessageInfo() == nil {
   787  			ms.StoreMessageInfo(mi)
   788  		}
   789  		return ms
   790  	}
   791  	return mi.MessageOf(x)
   792  }
   793  
   794  // Deprecated: Use BodyResponse.ProtoReflect.Descriptor instead.
   795  func (*BodyResponse) Descriptor() ([]byte, []int) {
   796  	return file_envoy_service_ext_proc_v3alpha_external_processor_proto_rawDescGZIP(), []int{7}
   797  }
   798  
   799  func (x *BodyResponse) GetResponse() *CommonResponse {
   800  	if x != nil {
   801  		return x.Response
   802  	}
   803  	return nil
   804  }
   805  
   806  // This message contains common fields between header and body responses.
   807  // [#next-free-field: 6]
   808  type CommonResponse struct {
   809  	state         protoimpl.MessageState
   810  	sizeCache     protoimpl.SizeCache
   811  	unknownFields protoimpl.UnknownFields
   812  
   813  	// If set, provide additional direction on how the Envoy proxy should
   814  	// handle the rest of the HTTP filter chain.
   815  	Status CommonResponse_ResponseStatus `protobuf:"varint,1,opt,name=status,proto3,enum=envoy.service.ext_proc.v3alpha.CommonResponse_ResponseStatus" json:"status,omitempty"`
   816  	// Instructions on how to manipulate the headers. When responding to an
   817  	// HttpBody request, header mutations will only take effect if
   818  	// the current processing mode for the body is BUFFERED.
   819  	HeaderMutation *HeaderMutation `protobuf:"bytes,2,opt,name=header_mutation,json=headerMutation,proto3" json:"header_mutation,omitempty"`
   820  	// Replace the body of the last message sent to the remote server on this
   821  	// stream. If responding to an HttpBody request, simply replace or clear
   822  	// the body chunk that was sent with that request. Body mutations only take
   823  	// effect in response to "body" messages and are ignored otherwise.
   824  	BodyMutation *BodyMutation `protobuf:"bytes,3,opt,name=body_mutation,json=bodyMutation,proto3" json:"body_mutation,omitempty"`
   825  	// [#not-implemented-hide:]
   826  	// Add new trailers to the message. This may be used when responding to either a
   827  	// HttpHeaders or HttpBody message, but only if this message is returned
   828  	// along with the CONTINUE_AND_REPLACE status.
   829  	Trailers *v3.HeaderMap `protobuf:"bytes,4,opt,name=trailers,proto3" json:"trailers,omitempty"`
   830  	// Clear the route cache for the current request.
   831  	// This is necessary if the remote server
   832  	// modified headers that are used to calculate the route.
   833  	ClearRouteCache bool `protobuf:"varint,5,opt,name=clear_route_cache,json=clearRouteCache,proto3" json:"clear_route_cache,omitempty"`
   834  }
   835  
   836  func (x *CommonResponse) Reset() {
   837  	*x = CommonResponse{}
   838  	if protoimpl.UnsafeEnabled {
   839  		mi := &file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[8]
   840  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   841  		ms.StoreMessageInfo(mi)
   842  	}
   843  }
   844  
   845  func (x *CommonResponse) String() string {
   846  	return protoimpl.X.MessageStringOf(x)
   847  }
   848  
   849  func (*CommonResponse) ProtoMessage() {}
   850  
   851  func (x *CommonResponse) ProtoReflect() protoreflect.Message {
   852  	mi := &file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[8]
   853  	if protoimpl.UnsafeEnabled && x != nil {
   854  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   855  		if ms.LoadMessageInfo() == nil {
   856  			ms.StoreMessageInfo(mi)
   857  		}
   858  		return ms
   859  	}
   860  	return mi.MessageOf(x)
   861  }
   862  
   863  // Deprecated: Use CommonResponse.ProtoReflect.Descriptor instead.
   864  func (*CommonResponse) Descriptor() ([]byte, []int) {
   865  	return file_envoy_service_ext_proc_v3alpha_external_processor_proto_rawDescGZIP(), []int{8}
   866  }
   867  
   868  func (x *CommonResponse) GetStatus() CommonResponse_ResponseStatus {
   869  	if x != nil {
   870  		return x.Status
   871  	}
   872  	return CommonResponse_CONTINUE
   873  }
   874  
   875  func (x *CommonResponse) GetHeaderMutation() *HeaderMutation {
   876  	if x != nil {
   877  		return x.HeaderMutation
   878  	}
   879  	return nil
   880  }
   881  
   882  func (x *CommonResponse) GetBodyMutation() *BodyMutation {
   883  	if x != nil {
   884  		return x.BodyMutation
   885  	}
   886  	return nil
   887  }
   888  
   889  func (x *CommonResponse) GetTrailers() *v3.HeaderMap {
   890  	if x != nil {
   891  		return x.Trailers
   892  	}
   893  	return nil
   894  }
   895  
   896  func (x *CommonResponse) GetClearRouteCache() bool {
   897  	if x != nil {
   898  		return x.ClearRouteCache
   899  	}
   900  	return false
   901  }
   902  
   903  // This message causes the filter to attempt to create a locally
   904  // generated response, send it  downstream, stop processing
   905  // additional filters, and ignore any additional messages received
   906  // from the remote server for this request or response. If a response
   907  // has already started, then  this will either ship the reply directly
   908  // to the downstream codec, or reset the stream.
   909  // [#next-free-field: 6]
   910  type ImmediateResponse struct {
   911  	state         protoimpl.MessageState
   912  	sizeCache     protoimpl.SizeCache
   913  	unknownFields protoimpl.UnknownFields
   914  
   915  	// The response code to return
   916  	Status *v31.HttpStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
   917  	// Apply changes to the default headers, which will include content-type.
   918  	Headers *HeaderMutation `protobuf:"bytes,2,opt,name=headers,proto3" json:"headers,omitempty"`
   919  	// The message body to return with the response which is sent using the
   920  	// text/plain content type, or encoded in the grpc-message header.
   921  	Body string `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"`
   922  	// If set, then include a gRPC status trailer.
   923  	GrpcStatus *GrpcStatus `protobuf:"bytes,4,opt,name=grpc_status,json=grpcStatus,proto3" json:"grpc_status,omitempty"`
   924  	// A string detailing why this local reply was sent, which may be included
   925  	// in log and debug output.
   926  	Details string `protobuf:"bytes,5,opt,name=details,proto3" json:"details,omitempty"`
   927  }
   928  
   929  func (x *ImmediateResponse) Reset() {
   930  	*x = ImmediateResponse{}
   931  	if protoimpl.UnsafeEnabled {
   932  		mi := &file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[9]
   933  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   934  		ms.StoreMessageInfo(mi)
   935  	}
   936  }
   937  
   938  func (x *ImmediateResponse) String() string {
   939  	return protoimpl.X.MessageStringOf(x)
   940  }
   941  
   942  func (*ImmediateResponse) ProtoMessage() {}
   943  
   944  func (x *ImmediateResponse) ProtoReflect() protoreflect.Message {
   945  	mi := &file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[9]
   946  	if protoimpl.UnsafeEnabled && x != nil {
   947  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   948  		if ms.LoadMessageInfo() == nil {
   949  			ms.StoreMessageInfo(mi)
   950  		}
   951  		return ms
   952  	}
   953  	return mi.MessageOf(x)
   954  }
   955  
   956  // Deprecated: Use ImmediateResponse.ProtoReflect.Descriptor instead.
   957  func (*ImmediateResponse) Descriptor() ([]byte, []int) {
   958  	return file_envoy_service_ext_proc_v3alpha_external_processor_proto_rawDescGZIP(), []int{9}
   959  }
   960  
   961  func (x *ImmediateResponse) GetStatus() *v31.HttpStatus {
   962  	if x != nil {
   963  		return x.Status
   964  	}
   965  	return nil
   966  }
   967  
   968  func (x *ImmediateResponse) GetHeaders() *HeaderMutation {
   969  	if x != nil {
   970  		return x.Headers
   971  	}
   972  	return nil
   973  }
   974  
   975  func (x *ImmediateResponse) GetBody() string {
   976  	if x != nil {
   977  		return x.Body
   978  	}
   979  	return ""
   980  }
   981  
   982  func (x *ImmediateResponse) GetGrpcStatus() *GrpcStatus {
   983  	if x != nil {
   984  		return x.GrpcStatus
   985  	}
   986  	return nil
   987  }
   988  
   989  func (x *ImmediateResponse) GetDetails() string {
   990  	if x != nil {
   991  		return x.Details
   992  	}
   993  	return ""
   994  }
   995  
   996  // This message specifies a gRPC status for an ImmediateResponse message.
   997  type GrpcStatus struct {
   998  	state         protoimpl.MessageState
   999  	sizeCache     protoimpl.SizeCache
  1000  	unknownFields protoimpl.UnknownFields
  1001  
  1002  	// The actual gRPC status
  1003  	Status uint32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
  1004  }
  1005  
  1006  func (x *GrpcStatus) Reset() {
  1007  	*x = GrpcStatus{}
  1008  	if protoimpl.UnsafeEnabled {
  1009  		mi := &file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[10]
  1010  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1011  		ms.StoreMessageInfo(mi)
  1012  	}
  1013  }
  1014  
  1015  func (x *GrpcStatus) String() string {
  1016  	return protoimpl.X.MessageStringOf(x)
  1017  }
  1018  
  1019  func (*GrpcStatus) ProtoMessage() {}
  1020  
  1021  func (x *GrpcStatus) ProtoReflect() protoreflect.Message {
  1022  	mi := &file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[10]
  1023  	if protoimpl.UnsafeEnabled && x != nil {
  1024  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1025  		if ms.LoadMessageInfo() == nil {
  1026  			ms.StoreMessageInfo(mi)
  1027  		}
  1028  		return ms
  1029  	}
  1030  	return mi.MessageOf(x)
  1031  }
  1032  
  1033  // Deprecated: Use GrpcStatus.ProtoReflect.Descriptor instead.
  1034  func (*GrpcStatus) Descriptor() ([]byte, []int) {
  1035  	return file_envoy_service_ext_proc_v3alpha_external_processor_proto_rawDescGZIP(), []int{10}
  1036  }
  1037  
  1038  func (x *GrpcStatus) GetStatus() uint32 {
  1039  	if x != nil {
  1040  		return x.Status
  1041  	}
  1042  	return 0
  1043  }
  1044  
  1045  // Change HTTP headers or trailers by appending, replacing, or removing
  1046  // headers.
  1047  type HeaderMutation struct {
  1048  	state         protoimpl.MessageState
  1049  	sizeCache     protoimpl.SizeCache
  1050  	unknownFields protoimpl.UnknownFields
  1051  
  1052  	// Add or replace HTTP headers. Attempts to set the value of
  1053  	// any "x-envoy" header, and attempts to set the ":method",
  1054  	// ":authority", ":scheme", or "host" headers will be ignored.
  1055  	SetHeaders []*v3.HeaderValueOption `protobuf:"bytes,1,rep,name=set_headers,json=setHeaders,proto3" json:"set_headers,omitempty"`
  1056  	// Remove these HTTP headers. Attempts to remove system headers --
  1057  	// any header starting with ":", plus "host" -- will be ignored.
  1058  	RemoveHeaders []string `protobuf:"bytes,2,rep,name=remove_headers,json=removeHeaders,proto3" json:"remove_headers,omitempty"`
  1059  }
  1060  
  1061  func (x *HeaderMutation) Reset() {
  1062  	*x = HeaderMutation{}
  1063  	if protoimpl.UnsafeEnabled {
  1064  		mi := &file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[11]
  1065  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1066  		ms.StoreMessageInfo(mi)
  1067  	}
  1068  }
  1069  
  1070  func (x *HeaderMutation) String() string {
  1071  	return protoimpl.X.MessageStringOf(x)
  1072  }
  1073  
  1074  func (*HeaderMutation) ProtoMessage() {}
  1075  
  1076  func (x *HeaderMutation) ProtoReflect() protoreflect.Message {
  1077  	mi := &file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[11]
  1078  	if protoimpl.UnsafeEnabled && x != nil {
  1079  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1080  		if ms.LoadMessageInfo() == nil {
  1081  			ms.StoreMessageInfo(mi)
  1082  		}
  1083  		return ms
  1084  	}
  1085  	return mi.MessageOf(x)
  1086  }
  1087  
  1088  // Deprecated: Use HeaderMutation.ProtoReflect.Descriptor instead.
  1089  func (*HeaderMutation) Descriptor() ([]byte, []int) {
  1090  	return file_envoy_service_ext_proc_v3alpha_external_processor_proto_rawDescGZIP(), []int{11}
  1091  }
  1092  
  1093  func (x *HeaderMutation) GetSetHeaders() []*v3.HeaderValueOption {
  1094  	if x != nil {
  1095  		return x.SetHeaders
  1096  	}
  1097  	return nil
  1098  }
  1099  
  1100  func (x *HeaderMutation) GetRemoveHeaders() []string {
  1101  	if x != nil {
  1102  		return x.RemoveHeaders
  1103  	}
  1104  	return nil
  1105  }
  1106  
  1107  // Replace the entire message body chunk received in the corresponding
  1108  // HttpBody message with this new body, or clear the body.
  1109  type BodyMutation struct {
  1110  	state         protoimpl.MessageState
  1111  	sizeCache     protoimpl.SizeCache
  1112  	unknownFields protoimpl.UnknownFields
  1113  
  1114  	// Types that are assignable to Mutation:
  1115  	//	*BodyMutation_Body
  1116  	//	*BodyMutation_ClearBody
  1117  	Mutation isBodyMutation_Mutation `protobuf_oneof:"mutation"`
  1118  }
  1119  
  1120  func (x *BodyMutation) Reset() {
  1121  	*x = BodyMutation{}
  1122  	if protoimpl.UnsafeEnabled {
  1123  		mi := &file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[12]
  1124  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1125  		ms.StoreMessageInfo(mi)
  1126  	}
  1127  }
  1128  
  1129  func (x *BodyMutation) String() string {
  1130  	return protoimpl.X.MessageStringOf(x)
  1131  }
  1132  
  1133  func (*BodyMutation) ProtoMessage() {}
  1134  
  1135  func (x *BodyMutation) ProtoReflect() protoreflect.Message {
  1136  	mi := &file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[12]
  1137  	if protoimpl.UnsafeEnabled && x != nil {
  1138  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1139  		if ms.LoadMessageInfo() == nil {
  1140  			ms.StoreMessageInfo(mi)
  1141  		}
  1142  		return ms
  1143  	}
  1144  	return mi.MessageOf(x)
  1145  }
  1146  
  1147  // Deprecated: Use BodyMutation.ProtoReflect.Descriptor instead.
  1148  func (*BodyMutation) Descriptor() ([]byte, []int) {
  1149  	return file_envoy_service_ext_proc_v3alpha_external_processor_proto_rawDescGZIP(), []int{12}
  1150  }
  1151  
  1152  func (m *BodyMutation) GetMutation() isBodyMutation_Mutation {
  1153  	if m != nil {
  1154  		return m.Mutation
  1155  	}
  1156  	return nil
  1157  }
  1158  
  1159  func (x *BodyMutation) GetBody() []byte {
  1160  	if x, ok := x.GetMutation().(*BodyMutation_Body); ok {
  1161  		return x.Body
  1162  	}
  1163  	return nil
  1164  }
  1165  
  1166  func (x *BodyMutation) GetClearBody() bool {
  1167  	if x, ok := x.GetMutation().(*BodyMutation_ClearBody); ok {
  1168  		return x.ClearBody
  1169  	}
  1170  	return false
  1171  }
  1172  
  1173  type isBodyMutation_Mutation interface {
  1174  	isBodyMutation_Mutation()
  1175  }
  1176  
  1177  type BodyMutation_Body struct {
  1178  	// The entire body to replace
  1179  	Body []byte `protobuf:"bytes,1,opt,name=body,proto3,oneof"`
  1180  }
  1181  
  1182  type BodyMutation_ClearBody struct {
  1183  	// Clear the corresponding body chunk
  1184  	ClearBody bool `protobuf:"varint,2,opt,name=clear_body,json=clearBody,proto3,oneof"`
  1185  }
  1186  
  1187  func (*BodyMutation_Body) isBodyMutation_Mutation() {}
  1188  
  1189  func (*BodyMutation_ClearBody) isBodyMutation_Mutation() {}
  1190  
  1191  var File_envoy_service_ext_proc_v3alpha_external_processor_proto protoreflect.FileDescriptor
  1192  
  1193  var file_envoy_service_ext_proc_v3alpha_external_processor_proto_rawDesc = []byte{
  1194  	0x0a, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f,
  1195  	0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61,
  1196  	0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73,
  1197  	0x73, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
  1198  	0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f,
  1199  	0x63, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79,
  1200  	0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f,
  1201  	0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x44, 0x65, 0x6e, 0x76, 0x6f,
  1202  	0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c,
  1203  	0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72,
  1204  	0x6f, 0x63, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x63, 0x65,
  1205  	0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1206  	0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f,
  1207  	0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  1208  	0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  1209  	0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
  1210  	0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  1211  	0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17,
  1212  	0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
  1213  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcc, 0x04, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x63,
  1214  	0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a,
  1215  	0x0a, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
  1216  	0x08, 0x52, 0x09, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x56, 0x0a, 0x0f,
  1217  	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18,
  1218  	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65,
  1219  	0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76,
  1220  	0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65,
  1221  	0x72, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61,
  1222  	0x64, 0x65, 0x72, 0x73, 0x12, 0x58, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  1223  	0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b,
  1224  	0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65,
  1225  	0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e,
  1226  	0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x72,
  1227  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x4d,
  1228  	0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x04,
  1229  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72,
  1230  	0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33,
  1231  	0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x48, 0x00,
  1232  	0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x4f, 0x0a,
  1233  	0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05,
  1234  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72,
  1235  	0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33,
  1236  	0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x48, 0x00,
  1237  	0x52, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x59,
  1238  	0x0a, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65,
  1239  	0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
  1240  	0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f,
  1241  	0x63, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x54, 0x72,
  1242  	0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
  1243  	0x74, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x5b, 0x0a, 0x11, 0x72, 0x65, 0x73,
  1244  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x07,
  1245  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72,
  1246  	0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33,
  1247  	0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65,
  1248  	0x72, 0x73, 0x48, 0x00, 0x52, 0x10, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72,
  1249  	0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x42, 0x0e, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
  1250  	0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xd4, 0x06, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x63, 0x65,
  1251  	0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a,
  1252  	0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73,
  1253  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73,
  1254  	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e,
  1255  	0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52,
  1256  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65,
  1257  	0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x5c, 0x0a, 0x10, 0x72, 0x65, 0x73,
  1258  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20,
  1259  	0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76,
  1260  	0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x61,
  1261  	0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70,
  1262  	0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  1263  	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x51, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65,
  1264  	0x73, 0x74, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
  1265  	0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78,
  1266  	0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42,
  1267  	0x6f, 0x64, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x72,
  1268  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x53, 0x0a, 0x0d, 0x72, 0x65,
  1269  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28,
  1270  	0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
  1271  	0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70,
  1272  	0x68, 0x61, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48,
  1273  	0x00, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x12,
  1274  	0x5d, 0x0a, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c,
  1275  	0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
  1276  	0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72,
  1277  	0x6f, 0x63, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6c,
  1278  	0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x72,
  1279  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x5f,
  1280  	0x0a, 0x11, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c,
  1281  	0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
  1282  	0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72,
  1283  	0x6f, 0x63, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6c,
  1284  	0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x10, 0x72,
  1285  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x12,
  1286  	0x62, 0x0a, 0x12, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73,
  1287  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e,
  1288  	0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f,
  1289  	0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6d, 0x6d,
  1290  	0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00,
  1291  	0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
  1292  	0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6d,
  1293  	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
  1294  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  1295  	0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d,
  1296  	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x63, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x5f,
  1297  	0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e,
  1298  	0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
  1299  	0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65,
  1300  	0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e,
  1301  	0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0c,
  1302  	0x6d, 0x6f, 0x64, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x42, 0x0f, 0x0a, 0x08,
  1303  	0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xa1, 0x02,
  1304  	0x0a, 0x0b, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x39, 0x0a,
  1305  	0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f,
  1306  	0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f,
  1307  	0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x52,
  1308  	0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x5b, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72,
  1309  	0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65,
  1310  	0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74,
  1311  	0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74,
  1312  	0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62,
  1313  	0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69,
  1314  	0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x66, 0x5f,
  1315  	0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x65, 0x6e,
  1316  	0x64, 0x4f, 0x66, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x1a, 0x56, 0x0a, 0x0f, 0x41, 0x74, 0x74,
  1317  	0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
  1318  	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d,
  1319  	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
  1320  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  1321  	0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
  1322  	0x01, 0x22, 0x42, 0x0a, 0x08, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x12, 0x0a,
  1323  	0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x62, 0x6f, 0x64,
  1324  	0x79, 0x12, 0x22, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x66, 0x5f, 0x73, 0x74, 0x72, 0x65,
  1325  	0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x65, 0x6e, 0x64, 0x4f, 0x66, 0x53,
  1326  	0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0x4b, 0x0a, 0x0c, 0x48, 0x74, 0x74, 0x70, 0x54, 0x72, 0x61,
  1327  	0x69, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72,
  1328  	0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
  1329  	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48,
  1330  	0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x52, 0x08, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65,
  1331  	0x72, 0x73, 0x22, 0x5d, 0x0a, 0x0f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73,
  1332  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  1333  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
  1334  	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63,
  1335  	0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52,
  1336  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  1337  	0x65, 0x22, 0x6b, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73,
  1338  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f,
  1339  	0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e,
  1340  	0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65,
  1341  	0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e,
  1342  	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e,
  1343  	0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5a,
  1344  	0x0a, 0x0c, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a,
  1345  	0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
  1346  	0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
  1347  	0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68,
  1348  	0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  1349  	0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc0, 0x03, 0x0a, 0x0e, 0x43,
  1350  	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a,
  1351  	0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e,
  1352  	0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78,
  1353  	0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43,
  1354  	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65,
  1355  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x08, 0xfa, 0x42,
  1356  	0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x57,
  1357  	0x0a, 0x0f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f,
  1358  	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
  1359  	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63,
  1360  	0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d,
  1361  	0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d,
  1362  	0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x0d, 0x62, 0x6f, 0x64, 0x79, 0x5f,
  1363  	0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c,
  1364  	0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65,
  1365  	0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e,
  1366  	0x42, 0x6f, 0x64, 0x79, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x62, 0x6f,
  1367  	0x64, 0x79, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x08, 0x74, 0x72,
  1368  	0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65,
  1369  	0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65,
  1370  	0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x52, 0x08, 0x74,
  1371  	0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6c, 0x65, 0x61, 0x72,
  1372  	0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x05, 0x20, 0x01,
  1373  	0x28, 0x08, 0x52, 0x0f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x61,
  1374  	0x63, 0x68, 0x65, 0x22, 0x38, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53,
  1375  	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55,
  1376  	0x45, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x45, 0x5f,
  1377  	0x41, 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x01, 0x22, 0x95, 0x02,
  1378  	0x0a, 0x11, 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
  1379  	0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20,
  1380  	0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65,
  1381  	0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x08,
  1382  	0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
  1383  	0x12, 0x48, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
  1384  	0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
  1385  	0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70,
  1386  	0x68, 0x61, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f,
  1387  	0x6e, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f,
  1388  	0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x4b,
  1389  	0x0a, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20,
  1390  	0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76,
  1391  	0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x61,
  1392  	0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
  1393  	0x0a, 0x67, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64,
  1394  	0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65,
  1395  	0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x24, 0x0a, 0x0a, 0x47, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61,
  1396  	0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20,
  1397  	0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x0e,
  1398  	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x48,
  1399  	0x0a, 0x0b, 0x73, 0x65, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20,
  1400  	0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
  1401  	0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65,
  1402  	0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x73, 0x65,
  1403  	0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f,
  1404  	0x76, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09,
  1405  	0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22,
  1406  	0x51, 0x0a, 0x0c, 0x42, 0x6f, 0x64, 0x79, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
  1407  	0x14, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52,
  1408  	0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x1f, 0x0a, 0x0a, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x62,
  1409  	0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x63, 0x6c, 0x65,
  1410  	0x61, 0x72, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x0a, 0x0a, 0x08, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69,
  1411  	0x6f, 0x6e, 0x32, 0x8b, 0x01, 0x0a, 0x11, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50,
  1412  	0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x12, 0x76, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x63,
  1413  	0x65, 0x73, 0x73, 0x12, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76,
  1414  	0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x61,
  1415  	0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52,
  1416  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73,
  1417  	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e,
  1418  	0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69,
  1419  	0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01,
  1420  	0x42, 0x5b, 0x0a, 0x2c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78,
  1421  	0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e,
  1422  	0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61,
  1423  	0x42, 0x16, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73,
  1424  	0x73, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x88, 0x01, 0x01, 0xba, 0x80, 0xc8,
  1425  	0xd1, 0x06, 0x02, 0x08, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70,
  1426  	0x72, 0x6f, 0x74, 0x6f, 0x33,
  1427  }
  1428  
  1429  var (
  1430  	file_envoy_service_ext_proc_v3alpha_external_processor_proto_rawDescOnce sync.Once
  1431  	file_envoy_service_ext_proc_v3alpha_external_processor_proto_rawDescData = file_envoy_service_ext_proc_v3alpha_external_processor_proto_rawDesc
  1432  )
  1433  
  1434  func file_envoy_service_ext_proc_v3alpha_external_processor_proto_rawDescGZIP() []byte {
  1435  	file_envoy_service_ext_proc_v3alpha_external_processor_proto_rawDescOnce.Do(func() {
  1436  		file_envoy_service_ext_proc_v3alpha_external_processor_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_ext_proc_v3alpha_external_processor_proto_rawDescData)
  1437  	})
  1438  	return file_envoy_service_ext_proc_v3alpha_external_processor_proto_rawDescData
  1439  }
  1440  
  1441  var file_envoy_service_ext_proc_v3alpha_external_processor_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
  1442  var file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
  1443  var file_envoy_service_ext_proc_v3alpha_external_processor_proto_goTypes = []interface{}{
  1444  	(CommonResponse_ResponseStatus)(0), // 0: envoy.service.ext_proc.v3alpha.CommonResponse.ResponseStatus
  1445  	(*ProcessingRequest)(nil),          // 1: envoy.service.ext_proc.v3alpha.ProcessingRequest
  1446  	(*ProcessingResponse)(nil),         // 2: envoy.service.ext_proc.v3alpha.ProcessingResponse
  1447  	(*HttpHeaders)(nil),                // 3: envoy.service.ext_proc.v3alpha.HttpHeaders
  1448  	(*HttpBody)(nil),                   // 4: envoy.service.ext_proc.v3alpha.HttpBody
  1449  	(*HttpTrailers)(nil),               // 5: envoy.service.ext_proc.v3alpha.HttpTrailers
  1450  	(*HeadersResponse)(nil),            // 6: envoy.service.ext_proc.v3alpha.HeadersResponse
  1451  	(*TrailersResponse)(nil),           // 7: envoy.service.ext_proc.v3alpha.TrailersResponse
  1452  	(*BodyResponse)(nil),               // 8: envoy.service.ext_proc.v3alpha.BodyResponse
  1453  	(*CommonResponse)(nil),             // 9: envoy.service.ext_proc.v3alpha.CommonResponse
  1454  	(*ImmediateResponse)(nil),          // 10: envoy.service.ext_proc.v3alpha.ImmediateResponse
  1455  	(*GrpcStatus)(nil),                 // 11: envoy.service.ext_proc.v3alpha.GrpcStatus
  1456  	(*HeaderMutation)(nil),             // 12: envoy.service.ext_proc.v3alpha.HeaderMutation
  1457  	(*BodyMutation)(nil),               // 13: envoy.service.ext_proc.v3alpha.BodyMutation
  1458  	nil,                                // 14: envoy.service.ext_proc.v3alpha.HttpHeaders.AttributesEntry
  1459  	(*_struct.Struct)(nil),             // 15: google.protobuf.Struct
  1460  	(*v3alpha.ProcessingMode)(nil),     // 16: envoy.extensions.filters.http.ext_proc.v3alpha.ProcessingMode
  1461  	(*v3.HeaderMap)(nil),               // 17: envoy.config.core.v3.HeaderMap
  1462  	(*v31.HttpStatus)(nil),             // 18: envoy.type.v3.HttpStatus
  1463  	(*v3.HeaderValueOption)(nil),       // 19: envoy.config.core.v3.HeaderValueOption
  1464  }
  1465  var file_envoy_service_ext_proc_v3alpha_external_processor_proto_depIdxs = []int32{
  1466  	3,  // 0: envoy.service.ext_proc.v3alpha.ProcessingRequest.request_headers:type_name -> envoy.service.ext_proc.v3alpha.HttpHeaders
  1467  	3,  // 1: envoy.service.ext_proc.v3alpha.ProcessingRequest.response_headers:type_name -> envoy.service.ext_proc.v3alpha.HttpHeaders
  1468  	4,  // 2: envoy.service.ext_proc.v3alpha.ProcessingRequest.request_body:type_name -> envoy.service.ext_proc.v3alpha.HttpBody
  1469  	4,  // 3: envoy.service.ext_proc.v3alpha.ProcessingRequest.response_body:type_name -> envoy.service.ext_proc.v3alpha.HttpBody
  1470  	5,  // 4: envoy.service.ext_proc.v3alpha.ProcessingRequest.request_trailers:type_name -> envoy.service.ext_proc.v3alpha.HttpTrailers
  1471  	5,  // 5: envoy.service.ext_proc.v3alpha.ProcessingRequest.response_trailers:type_name -> envoy.service.ext_proc.v3alpha.HttpTrailers
  1472  	6,  // 6: envoy.service.ext_proc.v3alpha.ProcessingResponse.request_headers:type_name -> envoy.service.ext_proc.v3alpha.HeadersResponse
  1473  	6,  // 7: envoy.service.ext_proc.v3alpha.ProcessingResponse.response_headers:type_name -> envoy.service.ext_proc.v3alpha.HeadersResponse
  1474  	8,  // 8: envoy.service.ext_proc.v3alpha.ProcessingResponse.request_body:type_name -> envoy.service.ext_proc.v3alpha.BodyResponse
  1475  	8,  // 9: envoy.service.ext_proc.v3alpha.ProcessingResponse.response_body:type_name -> envoy.service.ext_proc.v3alpha.BodyResponse
  1476  	7,  // 10: envoy.service.ext_proc.v3alpha.ProcessingResponse.request_trailers:type_name -> envoy.service.ext_proc.v3alpha.TrailersResponse
  1477  	7,  // 11: envoy.service.ext_proc.v3alpha.ProcessingResponse.response_trailers:type_name -> envoy.service.ext_proc.v3alpha.TrailersResponse
  1478  	10, // 12: envoy.service.ext_proc.v3alpha.ProcessingResponse.immediate_response:type_name -> envoy.service.ext_proc.v3alpha.ImmediateResponse
  1479  	15, // 13: envoy.service.ext_proc.v3alpha.ProcessingResponse.dynamic_metadata:type_name -> google.protobuf.Struct
  1480  	16, // 14: envoy.service.ext_proc.v3alpha.ProcessingResponse.mode_override:type_name -> envoy.extensions.filters.http.ext_proc.v3alpha.ProcessingMode
  1481  	17, // 15: envoy.service.ext_proc.v3alpha.HttpHeaders.headers:type_name -> envoy.config.core.v3.HeaderMap
  1482  	14, // 16: envoy.service.ext_proc.v3alpha.HttpHeaders.attributes:type_name -> envoy.service.ext_proc.v3alpha.HttpHeaders.AttributesEntry
  1483  	17, // 17: envoy.service.ext_proc.v3alpha.HttpTrailers.trailers:type_name -> envoy.config.core.v3.HeaderMap
  1484  	9,  // 18: envoy.service.ext_proc.v3alpha.HeadersResponse.response:type_name -> envoy.service.ext_proc.v3alpha.CommonResponse
  1485  	12, // 19: envoy.service.ext_proc.v3alpha.TrailersResponse.header_mutation:type_name -> envoy.service.ext_proc.v3alpha.HeaderMutation
  1486  	9,  // 20: envoy.service.ext_proc.v3alpha.BodyResponse.response:type_name -> envoy.service.ext_proc.v3alpha.CommonResponse
  1487  	0,  // 21: envoy.service.ext_proc.v3alpha.CommonResponse.status:type_name -> envoy.service.ext_proc.v3alpha.CommonResponse.ResponseStatus
  1488  	12, // 22: envoy.service.ext_proc.v3alpha.CommonResponse.header_mutation:type_name -> envoy.service.ext_proc.v3alpha.HeaderMutation
  1489  	13, // 23: envoy.service.ext_proc.v3alpha.CommonResponse.body_mutation:type_name -> envoy.service.ext_proc.v3alpha.BodyMutation
  1490  	17, // 24: envoy.service.ext_proc.v3alpha.CommonResponse.trailers:type_name -> envoy.config.core.v3.HeaderMap
  1491  	18, // 25: envoy.service.ext_proc.v3alpha.ImmediateResponse.status:type_name -> envoy.type.v3.HttpStatus
  1492  	12, // 26: envoy.service.ext_proc.v3alpha.ImmediateResponse.headers:type_name -> envoy.service.ext_proc.v3alpha.HeaderMutation
  1493  	11, // 27: envoy.service.ext_proc.v3alpha.ImmediateResponse.grpc_status:type_name -> envoy.service.ext_proc.v3alpha.GrpcStatus
  1494  	19, // 28: envoy.service.ext_proc.v3alpha.HeaderMutation.set_headers:type_name -> envoy.config.core.v3.HeaderValueOption
  1495  	15, // 29: envoy.service.ext_proc.v3alpha.HttpHeaders.AttributesEntry.value:type_name -> google.protobuf.Struct
  1496  	1,  // 30: envoy.service.ext_proc.v3alpha.ExternalProcessor.Process:input_type -> envoy.service.ext_proc.v3alpha.ProcessingRequest
  1497  	2,  // 31: envoy.service.ext_proc.v3alpha.ExternalProcessor.Process:output_type -> envoy.service.ext_proc.v3alpha.ProcessingResponse
  1498  	31, // [31:32] is the sub-list for method output_type
  1499  	30, // [30:31] is the sub-list for method input_type
  1500  	30, // [30:30] is the sub-list for extension type_name
  1501  	30, // [30:30] is the sub-list for extension extendee
  1502  	0,  // [0:30] is the sub-list for field type_name
  1503  }
  1504  
  1505  func init() { file_envoy_service_ext_proc_v3alpha_external_processor_proto_init() }
  1506  func file_envoy_service_ext_proc_v3alpha_external_processor_proto_init() {
  1507  	if File_envoy_service_ext_proc_v3alpha_external_processor_proto != nil {
  1508  		return
  1509  	}
  1510  	if !protoimpl.UnsafeEnabled {
  1511  		file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1512  			switch v := v.(*ProcessingRequest); i {
  1513  			case 0:
  1514  				return &v.state
  1515  			case 1:
  1516  				return &v.sizeCache
  1517  			case 2:
  1518  				return &v.unknownFields
  1519  			default:
  1520  				return nil
  1521  			}
  1522  		}
  1523  		file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1524  			switch v := v.(*ProcessingResponse); i {
  1525  			case 0:
  1526  				return &v.state
  1527  			case 1:
  1528  				return &v.sizeCache
  1529  			case 2:
  1530  				return &v.unknownFields
  1531  			default:
  1532  				return nil
  1533  			}
  1534  		}
  1535  		file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1536  			switch v := v.(*HttpHeaders); i {
  1537  			case 0:
  1538  				return &v.state
  1539  			case 1:
  1540  				return &v.sizeCache
  1541  			case 2:
  1542  				return &v.unknownFields
  1543  			default:
  1544  				return nil
  1545  			}
  1546  		}
  1547  		file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1548  			switch v := v.(*HttpBody); i {
  1549  			case 0:
  1550  				return &v.state
  1551  			case 1:
  1552  				return &v.sizeCache
  1553  			case 2:
  1554  				return &v.unknownFields
  1555  			default:
  1556  				return nil
  1557  			}
  1558  		}
  1559  		file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1560  			switch v := v.(*HttpTrailers); i {
  1561  			case 0:
  1562  				return &v.state
  1563  			case 1:
  1564  				return &v.sizeCache
  1565  			case 2:
  1566  				return &v.unknownFields
  1567  			default:
  1568  				return nil
  1569  			}
  1570  		}
  1571  		file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1572  			switch v := v.(*HeadersResponse); i {
  1573  			case 0:
  1574  				return &v.state
  1575  			case 1:
  1576  				return &v.sizeCache
  1577  			case 2:
  1578  				return &v.unknownFields
  1579  			default:
  1580  				return nil
  1581  			}
  1582  		}
  1583  		file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1584  			switch v := v.(*TrailersResponse); i {
  1585  			case 0:
  1586  				return &v.state
  1587  			case 1:
  1588  				return &v.sizeCache
  1589  			case 2:
  1590  				return &v.unknownFields
  1591  			default:
  1592  				return nil
  1593  			}
  1594  		}
  1595  		file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1596  			switch v := v.(*BodyResponse); i {
  1597  			case 0:
  1598  				return &v.state
  1599  			case 1:
  1600  				return &v.sizeCache
  1601  			case 2:
  1602  				return &v.unknownFields
  1603  			default:
  1604  				return nil
  1605  			}
  1606  		}
  1607  		file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  1608  			switch v := v.(*CommonResponse); i {
  1609  			case 0:
  1610  				return &v.state
  1611  			case 1:
  1612  				return &v.sizeCache
  1613  			case 2:
  1614  				return &v.unknownFields
  1615  			default:
  1616  				return nil
  1617  			}
  1618  		}
  1619  		file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  1620  			switch v := v.(*ImmediateResponse); i {
  1621  			case 0:
  1622  				return &v.state
  1623  			case 1:
  1624  				return &v.sizeCache
  1625  			case 2:
  1626  				return &v.unknownFields
  1627  			default:
  1628  				return nil
  1629  			}
  1630  		}
  1631  		file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  1632  			switch v := v.(*GrpcStatus); i {
  1633  			case 0:
  1634  				return &v.state
  1635  			case 1:
  1636  				return &v.sizeCache
  1637  			case 2:
  1638  				return &v.unknownFields
  1639  			default:
  1640  				return nil
  1641  			}
  1642  		}
  1643  		file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  1644  			switch v := v.(*HeaderMutation); i {
  1645  			case 0:
  1646  				return &v.state
  1647  			case 1:
  1648  				return &v.sizeCache
  1649  			case 2:
  1650  				return &v.unknownFields
  1651  			default:
  1652  				return nil
  1653  			}
  1654  		}
  1655  		file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  1656  			switch v := v.(*BodyMutation); i {
  1657  			case 0:
  1658  				return &v.state
  1659  			case 1:
  1660  				return &v.sizeCache
  1661  			case 2:
  1662  				return &v.unknownFields
  1663  			default:
  1664  				return nil
  1665  			}
  1666  		}
  1667  	}
  1668  	file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[0].OneofWrappers = []interface{}{
  1669  		(*ProcessingRequest_RequestHeaders)(nil),
  1670  		(*ProcessingRequest_ResponseHeaders)(nil),
  1671  		(*ProcessingRequest_RequestBody)(nil),
  1672  		(*ProcessingRequest_ResponseBody)(nil),
  1673  		(*ProcessingRequest_RequestTrailers)(nil),
  1674  		(*ProcessingRequest_ResponseTrailers)(nil),
  1675  	}
  1676  	file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[1].OneofWrappers = []interface{}{
  1677  		(*ProcessingResponse_RequestHeaders)(nil),
  1678  		(*ProcessingResponse_ResponseHeaders)(nil),
  1679  		(*ProcessingResponse_RequestBody)(nil),
  1680  		(*ProcessingResponse_ResponseBody)(nil),
  1681  		(*ProcessingResponse_RequestTrailers)(nil),
  1682  		(*ProcessingResponse_ResponseTrailers)(nil),
  1683  		(*ProcessingResponse_ImmediateResponse)(nil),
  1684  	}
  1685  	file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes[12].OneofWrappers = []interface{}{
  1686  		(*BodyMutation_Body)(nil),
  1687  		(*BodyMutation_ClearBody)(nil),
  1688  	}
  1689  	type x struct{}
  1690  	out := protoimpl.TypeBuilder{
  1691  		File: protoimpl.DescBuilder{
  1692  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1693  			RawDescriptor: file_envoy_service_ext_proc_v3alpha_external_processor_proto_rawDesc,
  1694  			NumEnums:      1,
  1695  			NumMessages:   14,
  1696  			NumExtensions: 0,
  1697  			NumServices:   1,
  1698  		},
  1699  		GoTypes:           file_envoy_service_ext_proc_v3alpha_external_processor_proto_goTypes,
  1700  		DependencyIndexes: file_envoy_service_ext_proc_v3alpha_external_processor_proto_depIdxs,
  1701  		EnumInfos:         file_envoy_service_ext_proc_v3alpha_external_processor_proto_enumTypes,
  1702  		MessageInfos:      file_envoy_service_ext_proc_v3alpha_external_processor_proto_msgTypes,
  1703  	}.Build()
  1704  	File_envoy_service_ext_proc_v3alpha_external_processor_proto = out.File
  1705  	file_envoy_service_ext_proc_v3alpha_external_processor_proto_rawDesc = nil
  1706  	file_envoy_service_ext_proc_v3alpha_external_processor_proto_goTypes = nil
  1707  	file_envoy_service_ext_proc_v3alpha_external_processor_proto_depIdxs = nil
  1708  }
  1709  
  1710  // Reference imports to suppress errors if they are not otherwise used.
  1711  var _ context.Context
  1712  var _ grpc.ClientConnInterface
  1713  
  1714  // This is a compile-time assertion to ensure that this generated file
  1715  // is compatible with the grpc package it is being compiled against.
  1716  const _ = grpc.SupportPackageIsVersion6
  1717  
  1718  // ExternalProcessorClient is the client API for ExternalProcessor service.
  1719  //
  1720  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  1721  type ExternalProcessorClient interface {
  1722  	// This begins the bidirectional stream that Envoy will use to
  1723  	// give the server control over what the filter does. The actual
  1724  	// protocol is described by the ProcessingRequest and ProcessingResponse
  1725  	// messages below.
  1726  	Process(ctx context.Context, opts ...grpc.CallOption) (ExternalProcessor_ProcessClient, error)
  1727  }
  1728  
  1729  type externalProcessorClient struct {
  1730  	cc grpc.ClientConnInterface
  1731  }
  1732  
  1733  func NewExternalProcessorClient(cc grpc.ClientConnInterface) ExternalProcessorClient {
  1734  	return &externalProcessorClient{cc}
  1735  }
  1736  
  1737  func (c *externalProcessorClient) Process(ctx context.Context, opts ...grpc.CallOption) (ExternalProcessor_ProcessClient, error) {
  1738  	stream, err := c.cc.NewStream(ctx, &_ExternalProcessor_serviceDesc.Streams[0], "/envoy.service.ext_proc.v3alpha.ExternalProcessor/Process", opts...)
  1739  	if err != nil {
  1740  		return nil, err
  1741  	}
  1742  	x := &externalProcessorProcessClient{stream}
  1743  	return x, nil
  1744  }
  1745  
  1746  type ExternalProcessor_ProcessClient interface {
  1747  	Send(*ProcessingRequest) error
  1748  	Recv() (*ProcessingResponse, error)
  1749  	grpc.ClientStream
  1750  }
  1751  
  1752  type externalProcessorProcessClient struct {
  1753  	grpc.ClientStream
  1754  }
  1755  
  1756  func (x *externalProcessorProcessClient) Send(m *ProcessingRequest) error {
  1757  	return x.ClientStream.SendMsg(m)
  1758  }
  1759  
  1760  func (x *externalProcessorProcessClient) Recv() (*ProcessingResponse, error) {
  1761  	m := new(ProcessingResponse)
  1762  	if err := x.ClientStream.RecvMsg(m); err != nil {
  1763  		return nil, err
  1764  	}
  1765  	return m, nil
  1766  }
  1767  
  1768  // ExternalProcessorServer is the server API for ExternalProcessor service.
  1769  type ExternalProcessorServer interface {
  1770  	// This begins the bidirectional stream that Envoy will use to
  1771  	// give the server control over what the filter does. The actual
  1772  	// protocol is described by the ProcessingRequest and ProcessingResponse
  1773  	// messages below.
  1774  	Process(ExternalProcessor_ProcessServer) error
  1775  }
  1776  
  1777  // UnimplementedExternalProcessorServer can be embedded to have forward compatible implementations.
  1778  type UnimplementedExternalProcessorServer struct {
  1779  }
  1780  
  1781  func (*UnimplementedExternalProcessorServer) Process(ExternalProcessor_ProcessServer) error {
  1782  	return status.Errorf(codes.Unimplemented, "method Process not implemented")
  1783  }
  1784  
  1785  func RegisterExternalProcessorServer(s *grpc.Server, srv ExternalProcessorServer) {
  1786  	s.RegisterService(&_ExternalProcessor_serviceDesc, srv)
  1787  }
  1788  
  1789  func _ExternalProcessor_Process_Handler(srv interface{}, stream grpc.ServerStream) error {
  1790  	return srv.(ExternalProcessorServer).Process(&externalProcessorProcessServer{stream})
  1791  }
  1792  
  1793  type ExternalProcessor_ProcessServer interface {
  1794  	Send(*ProcessingResponse) error
  1795  	Recv() (*ProcessingRequest, error)
  1796  	grpc.ServerStream
  1797  }
  1798  
  1799  type externalProcessorProcessServer struct {
  1800  	grpc.ServerStream
  1801  }
  1802  
  1803  func (x *externalProcessorProcessServer) Send(m *ProcessingResponse) error {
  1804  	return x.ServerStream.SendMsg(m)
  1805  }
  1806  
  1807  func (x *externalProcessorProcessServer) Recv() (*ProcessingRequest, error) {
  1808  	m := new(ProcessingRequest)
  1809  	if err := x.ServerStream.RecvMsg(m); err != nil {
  1810  		return nil, err
  1811  	}
  1812  	return m, nil
  1813  }
  1814  
  1815  var _ExternalProcessor_serviceDesc = grpc.ServiceDesc{
  1816  	ServiceName: "envoy.service.ext_proc.v3alpha.ExternalProcessor",
  1817  	HandlerType: (*ExternalProcessorServer)(nil),
  1818  	Methods:     []grpc.MethodDesc{},
  1819  	Streams: []grpc.StreamDesc{
  1820  		{
  1821  			StreamName:    "Process",
  1822  			Handler:       _ExternalProcessor_Process_Handler,
  1823  			ServerStreams: true,
  1824  			ClientStreams: true,
  1825  		},
  1826  	},
  1827  	Metadata: "envoy/service/ext_proc/v3alpha/external_processor.proto",
  1828  }