...

Source file src/github.com/linkerd/linkerd2-proxy-api/go/http_route/http_route.pb.go

Documentation: github.com/linkerd/linkerd2-proxy-api/go/http_route

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.33.0
     4  // 	protoc        v3.20.3
     5  // source: http_route.proto
     6  
     7  package http_route
     8  
     9  import (
    10  	http_types "github.com/linkerd/linkerd2-proxy-api/go/http_types"
    11  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    12  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    13  	reflect "reflect"
    14  	sync "sync"
    15  )
    16  
    17  const (
    18  	// Verify that this generated code is sufficiently up-to-date.
    19  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    20  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    21  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    22  )
    23  
    24  // Describes how to match an `:authority` or `host` header.
    25  type HostMatch struct {
    26  	state         protoimpl.MessageState
    27  	sizeCache     protoimpl.SizeCache
    28  	unknownFields protoimpl.UnknownFields
    29  
    30  	// Types that are assignable to Match:
    31  	//
    32  	//	*HostMatch_Exact
    33  	//	*HostMatch_Suffix_
    34  	Match isHostMatch_Match `protobuf_oneof:"match"`
    35  }
    36  
    37  func (x *HostMatch) Reset() {
    38  	*x = HostMatch{}
    39  	if protoimpl.UnsafeEnabled {
    40  		mi := &file_http_route_proto_msgTypes[0]
    41  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    42  		ms.StoreMessageInfo(mi)
    43  	}
    44  }
    45  
    46  func (x *HostMatch) String() string {
    47  	return protoimpl.X.MessageStringOf(x)
    48  }
    49  
    50  func (*HostMatch) ProtoMessage() {}
    51  
    52  func (x *HostMatch) ProtoReflect() protoreflect.Message {
    53  	mi := &file_http_route_proto_msgTypes[0]
    54  	if protoimpl.UnsafeEnabled && x != nil {
    55  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    56  		if ms.LoadMessageInfo() == nil {
    57  			ms.StoreMessageInfo(mi)
    58  		}
    59  		return ms
    60  	}
    61  	return mi.MessageOf(x)
    62  }
    63  
    64  // Deprecated: Use HostMatch.ProtoReflect.Descriptor instead.
    65  func (*HostMatch) Descriptor() ([]byte, []int) {
    66  	return file_http_route_proto_rawDescGZIP(), []int{0}
    67  }
    68  
    69  func (m *HostMatch) GetMatch() isHostMatch_Match {
    70  	if m != nil {
    71  		return m.Match
    72  	}
    73  	return nil
    74  }
    75  
    76  func (x *HostMatch) GetExact() string {
    77  	if x, ok := x.GetMatch().(*HostMatch_Exact); ok {
    78  		return x.Exact
    79  	}
    80  	return ""
    81  }
    82  
    83  func (x *HostMatch) GetSuffix() *HostMatch_Suffix {
    84  	if x, ok := x.GetMatch().(*HostMatch_Suffix_); ok {
    85  		return x.Suffix
    86  	}
    87  	return nil
    88  }
    89  
    90  type isHostMatch_Match interface {
    91  	isHostMatch_Match()
    92  }
    93  
    94  type HostMatch_Exact struct {
    95  	// Match an exact hostname, e.g. www.example.com.
    96  	Exact string `protobuf:"bytes,1,opt,name=exact,proto3,oneof"`
    97  }
    98  
    99  type HostMatch_Suffix_ struct {
   100  	// Match a hostname as a wildcard suffix, e.g. *.example.com.
   101  	Suffix *HostMatch_Suffix `protobuf:"bytes,2,opt,name=suffix,proto3,oneof"`
   102  }
   103  
   104  func (*HostMatch_Exact) isHostMatch_Match() {}
   105  
   106  func (*HostMatch_Suffix_) isHostMatch_Match() {}
   107  
   108  // Describes a set of matches, ALL of which must apply.
   109  type HttpRouteMatch struct {
   110  	state         protoimpl.MessageState
   111  	sizeCache     protoimpl.SizeCache
   112  	unknownFields protoimpl.UnknownFields
   113  
   114  	// Matches requests by path.
   115  	Path *PathMatch `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
   116  	// A set of header value matches that must be satisified. This match is not
   117  	// comprehensive, so requests may include headers that are not covered by this
   118  	// match.
   119  	Headers []*HeaderMatch `protobuf:"bytes,2,rep,name=headers,proto3" json:"headers,omitempty"`
   120  	// A set of query parmaeter value matches that must be satisified. This match
   121  	// is not comprehensive, so requests may include query parameters that are not
   122  	// covered by this match.
   123  	QueryParams []*QueryParamMatch `protobuf:"bytes,3,rep,name=query_params,json=queryParams,proto3" json:"query_params,omitempty"`
   124  	// If specified, restricts the match to a single HTTP method.
   125  	Method *http_types.HttpMethod `protobuf:"bytes,4,opt,name=method,proto3" json:"method,omitempty"`
   126  }
   127  
   128  func (x *HttpRouteMatch) Reset() {
   129  	*x = HttpRouteMatch{}
   130  	if protoimpl.UnsafeEnabled {
   131  		mi := &file_http_route_proto_msgTypes[1]
   132  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   133  		ms.StoreMessageInfo(mi)
   134  	}
   135  }
   136  
   137  func (x *HttpRouteMatch) String() string {
   138  	return protoimpl.X.MessageStringOf(x)
   139  }
   140  
   141  func (*HttpRouteMatch) ProtoMessage() {}
   142  
   143  func (x *HttpRouteMatch) ProtoReflect() protoreflect.Message {
   144  	mi := &file_http_route_proto_msgTypes[1]
   145  	if protoimpl.UnsafeEnabled && x != nil {
   146  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   147  		if ms.LoadMessageInfo() == nil {
   148  			ms.StoreMessageInfo(mi)
   149  		}
   150  		return ms
   151  	}
   152  	return mi.MessageOf(x)
   153  }
   154  
   155  // Deprecated: Use HttpRouteMatch.ProtoReflect.Descriptor instead.
   156  func (*HttpRouteMatch) Descriptor() ([]byte, []int) {
   157  	return file_http_route_proto_rawDescGZIP(), []int{1}
   158  }
   159  
   160  func (x *HttpRouteMatch) GetPath() *PathMatch {
   161  	if x != nil {
   162  		return x.Path
   163  	}
   164  	return nil
   165  }
   166  
   167  func (x *HttpRouteMatch) GetHeaders() []*HeaderMatch {
   168  	if x != nil {
   169  		return x.Headers
   170  	}
   171  	return nil
   172  }
   173  
   174  func (x *HttpRouteMatch) GetQueryParams() []*QueryParamMatch {
   175  	if x != nil {
   176  		return x.QueryParams
   177  	}
   178  	return nil
   179  }
   180  
   181  func (x *HttpRouteMatch) GetMethod() *http_types.HttpMethod {
   182  	if x != nil {
   183  		return x.Method
   184  	}
   185  	return nil
   186  }
   187  
   188  // Describes how to match a path.
   189  type PathMatch struct {
   190  	state         protoimpl.MessageState
   191  	sizeCache     protoimpl.SizeCache
   192  	unknownFields protoimpl.UnknownFields
   193  
   194  	// Types that are assignable to Kind:
   195  	//
   196  	//	*PathMatch_Exact
   197  	//	*PathMatch_Prefix
   198  	//	*PathMatch_Regex
   199  	Kind isPathMatch_Kind `protobuf_oneof:"kind"`
   200  }
   201  
   202  func (x *PathMatch) Reset() {
   203  	*x = PathMatch{}
   204  	if protoimpl.UnsafeEnabled {
   205  		mi := &file_http_route_proto_msgTypes[2]
   206  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   207  		ms.StoreMessageInfo(mi)
   208  	}
   209  }
   210  
   211  func (x *PathMatch) String() string {
   212  	return protoimpl.X.MessageStringOf(x)
   213  }
   214  
   215  func (*PathMatch) ProtoMessage() {}
   216  
   217  func (x *PathMatch) ProtoReflect() protoreflect.Message {
   218  	mi := &file_http_route_proto_msgTypes[2]
   219  	if protoimpl.UnsafeEnabled && x != nil {
   220  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   221  		if ms.LoadMessageInfo() == nil {
   222  			ms.StoreMessageInfo(mi)
   223  		}
   224  		return ms
   225  	}
   226  	return mi.MessageOf(x)
   227  }
   228  
   229  // Deprecated: Use PathMatch.ProtoReflect.Descriptor instead.
   230  func (*PathMatch) Descriptor() ([]byte, []int) {
   231  	return file_http_route_proto_rawDescGZIP(), []int{2}
   232  }
   233  
   234  func (m *PathMatch) GetKind() isPathMatch_Kind {
   235  	if m != nil {
   236  		return m.Kind
   237  	}
   238  	return nil
   239  }
   240  
   241  func (x *PathMatch) GetExact() string {
   242  	if x, ok := x.GetKind().(*PathMatch_Exact); ok {
   243  		return x.Exact
   244  	}
   245  	return ""
   246  }
   247  
   248  func (x *PathMatch) GetPrefix() string {
   249  	if x, ok := x.GetKind().(*PathMatch_Prefix); ok {
   250  		return x.Prefix
   251  	}
   252  	return ""
   253  }
   254  
   255  func (x *PathMatch) GetRegex() string {
   256  	if x, ok := x.GetKind().(*PathMatch_Regex); ok {
   257  		return x.Regex
   258  	}
   259  	return ""
   260  }
   261  
   262  type isPathMatch_Kind interface {
   263  	isPathMatch_Kind()
   264  }
   265  
   266  type PathMatch_Exact struct {
   267  	Exact string `protobuf:"bytes,1,opt,name=exact,proto3,oneof"`
   268  }
   269  
   270  type PathMatch_Prefix struct {
   271  	Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3,oneof"`
   272  }
   273  
   274  type PathMatch_Regex struct {
   275  	Regex string `protobuf:"bytes,3,opt,name=regex,proto3,oneof"`
   276  }
   277  
   278  func (*PathMatch_Exact) isPathMatch_Kind() {}
   279  
   280  func (*PathMatch_Prefix) isPathMatch_Kind() {}
   281  
   282  func (*PathMatch_Regex) isPathMatch_Kind() {}
   283  
   284  // Describes how to match a header by name and value.
   285  type HeaderMatch struct {
   286  	state         protoimpl.MessageState
   287  	sizeCache     protoimpl.SizeCache
   288  	unknownFields protoimpl.UnknownFields
   289  
   290  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   291  	// Types that are assignable to Value:
   292  	//
   293  	//	*HeaderMatch_Exact
   294  	//	*HeaderMatch_Regex
   295  	Value isHeaderMatch_Value `protobuf_oneof:"value"`
   296  }
   297  
   298  func (x *HeaderMatch) Reset() {
   299  	*x = HeaderMatch{}
   300  	if protoimpl.UnsafeEnabled {
   301  		mi := &file_http_route_proto_msgTypes[3]
   302  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   303  		ms.StoreMessageInfo(mi)
   304  	}
   305  }
   306  
   307  func (x *HeaderMatch) String() string {
   308  	return protoimpl.X.MessageStringOf(x)
   309  }
   310  
   311  func (*HeaderMatch) ProtoMessage() {}
   312  
   313  func (x *HeaderMatch) ProtoReflect() protoreflect.Message {
   314  	mi := &file_http_route_proto_msgTypes[3]
   315  	if protoimpl.UnsafeEnabled && x != nil {
   316  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   317  		if ms.LoadMessageInfo() == nil {
   318  			ms.StoreMessageInfo(mi)
   319  		}
   320  		return ms
   321  	}
   322  	return mi.MessageOf(x)
   323  }
   324  
   325  // Deprecated: Use HeaderMatch.ProtoReflect.Descriptor instead.
   326  func (*HeaderMatch) Descriptor() ([]byte, []int) {
   327  	return file_http_route_proto_rawDescGZIP(), []int{3}
   328  }
   329  
   330  func (x *HeaderMatch) GetName() string {
   331  	if x != nil {
   332  		return x.Name
   333  	}
   334  	return ""
   335  }
   336  
   337  func (m *HeaderMatch) GetValue() isHeaderMatch_Value {
   338  	if m != nil {
   339  		return m.Value
   340  	}
   341  	return nil
   342  }
   343  
   344  func (x *HeaderMatch) GetExact() []byte {
   345  	if x, ok := x.GetValue().(*HeaderMatch_Exact); ok {
   346  		return x.Exact
   347  	}
   348  	return nil
   349  }
   350  
   351  func (x *HeaderMatch) GetRegex() string {
   352  	if x, ok := x.GetValue().(*HeaderMatch_Regex); ok {
   353  		return x.Regex
   354  	}
   355  	return ""
   356  }
   357  
   358  type isHeaderMatch_Value interface {
   359  	isHeaderMatch_Value()
   360  }
   361  
   362  type HeaderMatch_Exact struct {
   363  	Exact []byte `protobuf:"bytes,2,opt,name=exact,proto3,oneof"`
   364  }
   365  
   366  type HeaderMatch_Regex struct {
   367  	Regex string `protobuf:"bytes,3,opt,name=regex,proto3,oneof"`
   368  }
   369  
   370  func (*HeaderMatch_Exact) isHeaderMatch_Value() {}
   371  
   372  func (*HeaderMatch_Regex) isHeaderMatch_Value() {}
   373  
   374  // Describes how to match a query parameter by name and value.
   375  type QueryParamMatch struct {
   376  	state         protoimpl.MessageState
   377  	sizeCache     protoimpl.SizeCache
   378  	unknownFields protoimpl.UnknownFields
   379  
   380  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   381  	// Types that are assignable to Value:
   382  	//
   383  	//	*QueryParamMatch_Exact
   384  	//	*QueryParamMatch_Regex
   385  	Value isQueryParamMatch_Value `protobuf_oneof:"value"`
   386  }
   387  
   388  func (x *QueryParamMatch) Reset() {
   389  	*x = QueryParamMatch{}
   390  	if protoimpl.UnsafeEnabled {
   391  		mi := &file_http_route_proto_msgTypes[4]
   392  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   393  		ms.StoreMessageInfo(mi)
   394  	}
   395  }
   396  
   397  func (x *QueryParamMatch) String() string {
   398  	return protoimpl.X.MessageStringOf(x)
   399  }
   400  
   401  func (*QueryParamMatch) ProtoMessage() {}
   402  
   403  func (x *QueryParamMatch) ProtoReflect() protoreflect.Message {
   404  	mi := &file_http_route_proto_msgTypes[4]
   405  	if protoimpl.UnsafeEnabled && x != nil {
   406  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   407  		if ms.LoadMessageInfo() == nil {
   408  			ms.StoreMessageInfo(mi)
   409  		}
   410  		return ms
   411  	}
   412  	return mi.MessageOf(x)
   413  }
   414  
   415  // Deprecated: Use QueryParamMatch.ProtoReflect.Descriptor instead.
   416  func (*QueryParamMatch) Descriptor() ([]byte, []int) {
   417  	return file_http_route_proto_rawDescGZIP(), []int{4}
   418  }
   419  
   420  func (x *QueryParamMatch) GetName() string {
   421  	if x != nil {
   422  		return x.Name
   423  	}
   424  	return ""
   425  }
   426  
   427  func (m *QueryParamMatch) GetValue() isQueryParamMatch_Value {
   428  	if m != nil {
   429  		return m.Value
   430  	}
   431  	return nil
   432  }
   433  
   434  func (x *QueryParamMatch) GetExact() string {
   435  	if x, ok := x.GetValue().(*QueryParamMatch_Exact); ok {
   436  		return x.Exact
   437  	}
   438  	return ""
   439  }
   440  
   441  func (x *QueryParamMatch) GetRegex() string {
   442  	if x, ok := x.GetValue().(*QueryParamMatch_Regex); ok {
   443  		return x.Regex
   444  	}
   445  	return ""
   446  }
   447  
   448  type isQueryParamMatch_Value interface {
   449  	isQueryParamMatch_Value()
   450  }
   451  
   452  type QueryParamMatch_Exact struct {
   453  	Exact string `protobuf:"bytes,2,opt,name=exact,proto3,oneof"`
   454  }
   455  
   456  type QueryParamMatch_Regex struct {
   457  	Regex string `protobuf:"bytes,3,opt,name=regex,proto3,oneof"`
   458  }
   459  
   460  func (*QueryParamMatch_Exact) isQueryParamMatch_Value() {}
   461  
   462  func (*QueryParamMatch_Regex) isQueryParamMatch_Value() {}
   463  
   464  // Configures a route to modify a request's headers.
   465  //
   466  // Modifications are to be applied in the order they are described here:
   467  // additions apply first, then sets, and then removals.
   468  type RequestHeaderModifier struct {
   469  	state         protoimpl.MessageState
   470  	sizeCache     protoimpl.SizeCache
   471  	unknownFields protoimpl.UnknownFields
   472  
   473  	// A list of headers name-value pairs to set on requests, augmenting any
   474  	// existing values for the header.
   475  	Add *http_types.Headers `protobuf:"bytes,1,opt,name=add,proto3" json:"add,omitempty"`
   476  	// A list of headers name-value pairs to set on requests, replacing any
   477  	// existing values for the header.
   478  	Set *http_types.Headers `protobuf:"bytes,2,opt,name=set,proto3" json:"set,omitempty"`
   479  	// A list of headers names to be removed from requests.
   480  	Remove []string `protobuf:"bytes,3,rep,name=remove,proto3" json:"remove,omitempty"`
   481  }
   482  
   483  func (x *RequestHeaderModifier) Reset() {
   484  	*x = RequestHeaderModifier{}
   485  	if protoimpl.UnsafeEnabled {
   486  		mi := &file_http_route_proto_msgTypes[5]
   487  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   488  		ms.StoreMessageInfo(mi)
   489  	}
   490  }
   491  
   492  func (x *RequestHeaderModifier) String() string {
   493  	return protoimpl.X.MessageStringOf(x)
   494  }
   495  
   496  func (*RequestHeaderModifier) ProtoMessage() {}
   497  
   498  func (x *RequestHeaderModifier) ProtoReflect() protoreflect.Message {
   499  	mi := &file_http_route_proto_msgTypes[5]
   500  	if protoimpl.UnsafeEnabled && x != nil {
   501  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   502  		if ms.LoadMessageInfo() == nil {
   503  			ms.StoreMessageInfo(mi)
   504  		}
   505  		return ms
   506  	}
   507  	return mi.MessageOf(x)
   508  }
   509  
   510  // Deprecated: Use RequestHeaderModifier.ProtoReflect.Descriptor instead.
   511  func (*RequestHeaderModifier) Descriptor() ([]byte, []int) {
   512  	return file_http_route_proto_rawDescGZIP(), []int{5}
   513  }
   514  
   515  func (x *RequestHeaderModifier) GetAdd() *http_types.Headers {
   516  	if x != nil {
   517  		return x.Add
   518  	}
   519  	return nil
   520  }
   521  
   522  func (x *RequestHeaderModifier) GetSet() *http_types.Headers {
   523  	if x != nil {
   524  		return x.Set
   525  	}
   526  	return nil
   527  }
   528  
   529  func (x *RequestHeaderModifier) GetRemove() []string {
   530  	if x != nil {
   531  		return x.Remove
   532  	}
   533  	return nil
   534  }
   535  
   536  // Configures a route to modify a response's headers.
   537  //
   538  // Modifications are to be applied in the order they are described here:
   539  // additions apply first, then sets, and then removals.
   540  type ResponseHeaderModifier struct {
   541  	state         protoimpl.MessageState
   542  	sizeCache     protoimpl.SizeCache
   543  	unknownFields protoimpl.UnknownFields
   544  
   545  	// A list of headers name-value pairs to set on responses, augmenting any
   546  	// existing values for the header.
   547  	Add *http_types.Headers `protobuf:"bytes,1,opt,name=add,proto3" json:"add,omitempty"`
   548  	// A list of headers name-value pairs to set on responses, replacing any
   549  	// existing values for the header.
   550  	Set *http_types.Headers `protobuf:"bytes,2,opt,name=set,proto3" json:"set,omitempty"`
   551  	// A list of headers names to be removed from responses.
   552  	Remove []string `protobuf:"bytes,3,rep,name=remove,proto3" json:"remove,omitempty"`
   553  }
   554  
   555  func (x *ResponseHeaderModifier) Reset() {
   556  	*x = ResponseHeaderModifier{}
   557  	if protoimpl.UnsafeEnabled {
   558  		mi := &file_http_route_proto_msgTypes[6]
   559  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   560  		ms.StoreMessageInfo(mi)
   561  	}
   562  }
   563  
   564  func (x *ResponseHeaderModifier) String() string {
   565  	return protoimpl.X.MessageStringOf(x)
   566  }
   567  
   568  func (*ResponseHeaderModifier) ProtoMessage() {}
   569  
   570  func (x *ResponseHeaderModifier) ProtoReflect() protoreflect.Message {
   571  	mi := &file_http_route_proto_msgTypes[6]
   572  	if protoimpl.UnsafeEnabled && x != nil {
   573  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   574  		if ms.LoadMessageInfo() == nil {
   575  			ms.StoreMessageInfo(mi)
   576  		}
   577  		return ms
   578  	}
   579  	return mi.MessageOf(x)
   580  }
   581  
   582  // Deprecated: Use ResponseHeaderModifier.ProtoReflect.Descriptor instead.
   583  func (*ResponseHeaderModifier) Descriptor() ([]byte, []int) {
   584  	return file_http_route_proto_rawDescGZIP(), []int{6}
   585  }
   586  
   587  func (x *ResponseHeaderModifier) GetAdd() *http_types.Headers {
   588  	if x != nil {
   589  		return x.Add
   590  	}
   591  	return nil
   592  }
   593  
   594  func (x *ResponseHeaderModifier) GetSet() *http_types.Headers {
   595  	if x != nil {
   596  		return x.Set
   597  	}
   598  	return nil
   599  }
   600  
   601  func (x *ResponseHeaderModifier) GetRemove() []string {
   602  	if x != nil {
   603  		return x.Remove
   604  	}
   605  	return nil
   606  }
   607  
   608  // Configures a route to respond with a redirect response. The `location` header
   609  // is set with the given URL parameters.
   610  type RequestRedirect struct {
   611  	state         protoimpl.MessageState
   612  	sizeCache     protoimpl.SizeCache
   613  	unknownFields protoimpl.UnknownFields
   614  
   615  	// The scheme value to be used in the `location` header. If not specified,
   616  	// the original request's scheme is used.
   617  	Scheme *http_types.Scheme `protobuf:"bytes,1,opt,name=scheme,proto3" json:"scheme,omitempty"`
   618  	// The host value to be used in the `location` header. If not specified, the
   619  	// original request's host is used.
   620  	Host string `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"`
   621  	// If set, configures how the request's path should be modified for use in
   622  	// the `location` header. If not specified, the original request's path is
   623  	// used.
   624  	Path *PathModifier `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
   625  	// If set, specifies the port to use in the `location` header.
   626  	Port uint32 `protobuf:"varint,4,opt,name=port,proto3" json:"port,omitempty"`
   627  	// The status code to use in the HTTP response. If not specified, 301 is
   628  	// used.
   629  	Status uint32 `protobuf:"varint,5,opt,name=status,proto3" json:"status,omitempty"`
   630  }
   631  
   632  func (x *RequestRedirect) Reset() {
   633  	*x = RequestRedirect{}
   634  	if protoimpl.UnsafeEnabled {
   635  		mi := &file_http_route_proto_msgTypes[7]
   636  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   637  		ms.StoreMessageInfo(mi)
   638  	}
   639  }
   640  
   641  func (x *RequestRedirect) String() string {
   642  	return protoimpl.X.MessageStringOf(x)
   643  }
   644  
   645  func (*RequestRedirect) ProtoMessage() {}
   646  
   647  func (x *RequestRedirect) ProtoReflect() protoreflect.Message {
   648  	mi := &file_http_route_proto_msgTypes[7]
   649  	if protoimpl.UnsafeEnabled && x != nil {
   650  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   651  		if ms.LoadMessageInfo() == nil {
   652  			ms.StoreMessageInfo(mi)
   653  		}
   654  		return ms
   655  	}
   656  	return mi.MessageOf(x)
   657  }
   658  
   659  // Deprecated: Use RequestRedirect.ProtoReflect.Descriptor instead.
   660  func (*RequestRedirect) Descriptor() ([]byte, []int) {
   661  	return file_http_route_proto_rawDescGZIP(), []int{7}
   662  }
   663  
   664  func (x *RequestRedirect) GetScheme() *http_types.Scheme {
   665  	if x != nil {
   666  		return x.Scheme
   667  	}
   668  	return nil
   669  }
   670  
   671  func (x *RequestRedirect) GetHost() string {
   672  	if x != nil {
   673  		return x.Host
   674  	}
   675  	return ""
   676  }
   677  
   678  func (x *RequestRedirect) GetPath() *PathModifier {
   679  	if x != nil {
   680  		return x.Path
   681  	}
   682  	return nil
   683  }
   684  
   685  func (x *RequestRedirect) GetPort() uint32 {
   686  	if x != nil {
   687  		return x.Port
   688  	}
   689  	return 0
   690  }
   691  
   692  func (x *RequestRedirect) GetStatus() uint32 {
   693  	if x != nil {
   694  		return x.Status
   695  	}
   696  	return 0
   697  }
   698  
   699  // Describes how a path value may be rewritten in a route.
   700  type PathModifier struct {
   701  	state         protoimpl.MessageState
   702  	sizeCache     protoimpl.SizeCache
   703  	unknownFields protoimpl.UnknownFields
   704  
   705  	// Types that are assignable to Replace:
   706  	//
   707  	//	*PathModifier_Full
   708  	//	*PathModifier_Prefix
   709  	Replace isPathModifier_Replace `protobuf_oneof:"replace"`
   710  }
   711  
   712  func (x *PathModifier) Reset() {
   713  	*x = PathModifier{}
   714  	if protoimpl.UnsafeEnabled {
   715  		mi := &file_http_route_proto_msgTypes[8]
   716  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   717  		ms.StoreMessageInfo(mi)
   718  	}
   719  }
   720  
   721  func (x *PathModifier) String() string {
   722  	return protoimpl.X.MessageStringOf(x)
   723  }
   724  
   725  func (*PathModifier) ProtoMessage() {}
   726  
   727  func (x *PathModifier) ProtoReflect() protoreflect.Message {
   728  	mi := &file_http_route_proto_msgTypes[8]
   729  	if protoimpl.UnsafeEnabled && x != nil {
   730  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   731  		if ms.LoadMessageInfo() == nil {
   732  			ms.StoreMessageInfo(mi)
   733  		}
   734  		return ms
   735  	}
   736  	return mi.MessageOf(x)
   737  }
   738  
   739  // Deprecated: Use PathModifier.ProtoReflect.Descriptor instead.
   740  func (*PathModifier) Descriptor() ([]byte, []int) {
   741  	return file_http_route_proto_rawDescGZIP(), []int{8}
   742  }
   743  
   744  func (m *PathModifier) GetReplace() isPathModifier_Replace {
   745  	if m != nil {
   746  		return m.Replace
   747  	}
   748  	return nil
   749  }
   750  
   751  func (x *PathModifier) GetFull() string {
   752  	if x, ok := x.GetReplace().(*PathModifier_Full); ok {
   753  		return x.Full
   754  	}
   755  	return ""
   756  }
   757  
   758  func (x *PathModifier) GetPrefix() string {
   759  	if x, ok := x.GetReplace().(*PathModifier_Prefix); ok {
   760  		return x.Prefix
   761  	}
   762  	return ""
   763  }
   764  
   765  type isPathModifier_Replace interface {
   766  	isPathModifier_Replace()
   767  }
   768  
   769  type PathModifier_Full struct {
   770  	// Indicates that the path should be replaced with the given value.
   771  	Full string `protobuf:"bytes,1,opt,name=full,proto3,oneof"`
   772  }
   773  
   774  type PathModifier_Prefix struct {
   775  	// Indicates that the path prefix should be replaced with the given
   776  	// value. When used, the route MUST match the request with PathMatch
   777  	// prefix match. Server implementations SHOULD prevent the useof prefix
   778  	// modifiers on routes that do use a PathMatch prefix match. Proxyies
   779  	// MUST not process requests for routes where this condition is not
   780  	// satisfied.
   781  	Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3,oneof"`
   782  }
   783  
   784  func (*PathModifier_Full) isPathModifier_Replace() {}
   785  
   786  func (*PathModifier_Prefix) isPathModifier_Replace() {}
   787  
   788  // Configures a route to respond with a fixed response.
   789  type HttpFailureInjector struct {
   790  	state         protoimpl.MessageState
   791  	sizeCache     protoimpl.SizeCache
   792  	unknownFields protoimpl.UnknownFields
   793  
   794  	// The status code to use in the HTTP response. Must be specified.
   795  	Status uint32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
   796  	// An error message to log and include in the `l5d-proxy-err` header.
   797  	Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
   798  	// If specified, the rate of requests that should be failed. If not specified,
   799  	// ALL requests are failed.
   800  	Ratio *Ratio `protobuf:"bytes,3,opt,name=ratio,proto3" json:"ratio,omitempty"`
   801  }
   802  
   803  func (x *HttpFailureInjector) Reset() {
   804  	*x = HttpFailureInjector{}
   805  	if protoimpl.UnsafeEnabled {
   806  		mi := &file_http_route_proto_msgTypes[9]
   807  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   808  		ms.StoreMessageInfo(mi)
   809  	}
   810  }
   811  
   812  func (x *HttpFailureInjector) String() string {
   813  	return protoimpl.X.MessageStringOf(x)
   814  }
   815  
   816  func (*HttpFailureInjector) ProtoMessage() {}
   817  
   818  func (x *HttpFailureInjector) ProtoReflect() protoreflect.Message {
   819  	mi := &file_http_route_proto_msgTypes[9]
   820  	if protoimpl.UnsafeEnabled && x != nil {
   821  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   822  		if ms.LoadMessageInfo() == nil {
   823  			ms.StoreMessageInfo(mi)
   824  		}
   825  		return ms
   826  	}
   827  	return mi.MessageOf(x)
   828  }
   829  
   830  // Deprecated: Use HttpFailureInjector.ProtoReflect.Descriptor instead.
   831  func (*HttpFailureInjector) Descriptor() ([]byte, []int) {
   832  	return file_http_route_proto_rawDescGZIP(), []int{9}
   833  }
   834  
   835  func (x *HttpFailureInjector) GetStatus() uint32 {
   836  	if x != nil {
   837  		return x.Status
   838  	}
   839  	return 0
   840  }
   841  
   842  func (x *HttpFailureInjector) GetMessage() string {
   843  	if x != nil {
   844  		return x.Message
   845  	}
   846  	return ""
   847  }
   848  
   849  func (x *HttpFailureInjector) GetRatio() *Ratio {
   850  	if x != nil {
   851  		return x.Ratio
   852  	}
   853  	return nil
   854  }
   855  
   856  // A ratio (i.e., of requests) to which an filter should be applied.
   857  //
   858  // Represents fractional values on [0, 1].
   859  type Ratio struct {
   860  	state         protoimpl.MessageState
   861  	sizeCache     protoimpl.SizeCache
   862  	unknownFields protoimpl.UnknownFields
   863  
   864  	Numerator uint32 `protobuf:"varint,1,opt,name=numerator,proto3" json:"numerator,omitempty"`
   865  	// MUST not be zero.
   866  	Denominator uint32 `protobuf:"varint,2,opt,name=denominator,proto3" json:"denominator,omitempty"`
   867  }
   868  
   869  func (x *Ratio) Reset() {
   870  	*x = Ratio{}
   871  	if protoimpl.UnsafeEnabled {
   872  		mi := &file_http_route_proto_msgTypes[10]
   873  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   874  		ms.StoreMessageInfo(mi)
   875  	}
   876  }
   877  
   878  func (x *Ratio) String() string {
   879  	return protoimpl.X.MessageStringOf(x)
   880  }
   881  
   882  func (*Ratio) ProtoMessage() {}
   883  
   884  func (x *Ratio) ProtoReflect() protoreflect.Message {
   885  	mi := &file_http_route_proto_msgTypes[10]
   886  	if protoimpl.UnsafeEnabled && x != nil {
   887  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   888  		if ms.LoadMessageInfo() == nil {
   889  			ms.StoreMessageInfo(mi)
   890  		}
   891  		return ms
   892  	}
   893  	return mi.MessageOf(x)
   894  }
   895  
   896  // Deprecated: Use Ratio.ProtoReflect.Descriptor instead.
   897  func (*Ratio) Descriptor() ([]byte, []int) {
   898  	return file_http_route_proto_rawDescGZIP(), []int{10}
   899  }
   900  
   901  func (x *Ratio) GetNumerator() uint32 {
   902  	if x != nil {
   903  		return x.Numerator
   904  	}
   905  	return 0
   906  }
   907  
   908  func (x *Ratio) GetDenominator() uint32 {
   909  	if x != nil {
   910  		return x.Denominator
   911  	}
   912  	return 0
   913  }
   914  
   915  // A match like `*.example.com` is encoded as [com, example].
   916  type HostMatch_Suffix struct {
   917  	state         protoimpl.MessageState
   918  	sizeCache     protoimpl.SizeCache
   919  	unknownFields protoimpl.UnknownFields
   920  
   921  	ReverseLabels []string `protobuf:"bytes,1,rep,name=reverse_labels,json=reverseLabels,proto3" json:"reverse_labels,omitempty"`
   922  }
   923  
   924  func (x *HostMatch_Suffix) Reset() {
   925  	*x = HostMatch_Suffix{}
   926  	if protoimpl.UnsafeEnabled {
   927  		mi := &file_http_route_proto_msgTypes[11]
   928  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   929  		ms.StoreMessageInfo(mi)
   930  	}
   931  }
   932  
   933  func (x *HostMatch_Suffix) String() string {
   934  	return protoimpl.X.MessageStringOf(x)
   935  }
   936  
   937  func (*HostMatch_Suffix) ProtoMessage() {}
   938  
   939  func (x *HostMatch_Suffix) ProtoReflect() protoreflect.Message {
   940  	mi := &file_http_route_proto_msgTypes[11]
   941  	if protoimpl.UnsafeEnabled && x != nil {
   942  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   943  		if ms.LoadMessageInfo() == nil {
   944  			ms.StoreMessageInfo(mi)
   945  		}
   946  		return ms
   947  	}
   948  	return mi.MessageOf(x)
   949  }
   950  
   951  // Deprecated: Use HostMatch_Suffix.ProtoReflect.Descriptor instead.
   952  func (*HostMatch_Suffix) Descriptor() ([]byte, []int) {
   953  	return file_http_route_proto_rawDescGZIP(), []int{0, 0}
   954  }
   955  
   956  func (x *HostMatch_Suffix) GetReverseLabels() []string {
   957  	if x != nil {
   958  		return x.ReverseLabels
   959  	}
   960  	return nil
   961  }
   962  
   963  var File_http_route_proto protoreflect.FileDescriptor
   964  
   965  var file_http_route_proto_rawDesc = []byte{
   966  	0x0a, 0x10, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f,
   967  	0x74, 0x6f, 0x12, 0x1b, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70,
   968  	0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x1a,
   969  	0x10, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
   970  	0x6f, 0x22, 0xa6, 0x01, 0x0a, 0x09, 0x48, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12,
   971  	0x16, 0x0a, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
   972  	0x52, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x12, 0x47, 0x0a, 0x06, 0x73, 0x75, 0x66, 0x66, 0x69,
   973  	0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e,
   974  	0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f,
   975  	0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e,
   976  	0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x48, 0x00, 0x52, 0x06, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78,
   977  	0x1a, 0x2f, 0x0a, 0x06, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65,
   978  	0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03,
   979  	0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c,
   980  	0x73, 0x42, 0x07, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xa2, 0x02, 0x0a, 0x0e, 0x48,
   981  	0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3a, 0x0a,
   982  	0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6f,
   983  	0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68,
   984  	0x74, 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x61,
   985  	0x74, 0x63, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x42, 0x0a, 0x07, 0x68, 0x65, 0x61,
   986  	0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6f, 0x2e,
   987  	0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74,
   988  	0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d,
   989  	0x61, 0x74, 0x63, 0x68, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x4f, 0x0a,
   990  	0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20,
   991  	0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64,
   992  	0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74,
   993  	0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4d, 0x61, 0x74, 0x63,
   994  	0x68, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x3f,
   995  	0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27,
   996  	0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78,
   997  	0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x74, 0x74,
   998  	0x70, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22,
   999  	0x5d, 0x0a, 0x09, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x05,
  1000  	0x65, 0x78, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x65,
  1001  	0x78, 0x61, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02,
  1002  	0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x16,
  1003  	0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
  1004  	0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x5a,
  1005  	0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x12, 0x0a,
  1006  	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
  1007  	0x65, 0x12, 0x16, 0x0a, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
  1008  	0x48, 0x00, 0x52, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x05, 0x72, 0x65, 0x67,
  1009  	0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65,
  1010  	0x78, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x5e, 0x0a, 0x0f, 0x51, 0x75,
  1011  	0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x12, 0x0a,
  1012  	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
  1013  	0x65, 0x12, 0x16, 0x0a, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  1014  	0x48, 0x00, 0x52, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x05, 0x72, 0x65, 0x67,
  1015  	0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65,
  1016  	0x78, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x15, 0x52,
  1017  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69,
  1018  	0x66, 0x69, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x03, 0x61, 0x64, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
  1019  	0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70,
  1020  	0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e,
  1021  	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x03, 0x61, 0x64, 0x64, 0x12, 0x36, 0x0a, 0x03,
  1022  	0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6f, 0x2e, 0x6c,
  1023  	0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74,
  1024  	0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52,
  1025  	0x03, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x03,
  1026  	0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0xa0, 0x01, 0x0a,
  1027  	0x16, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d,
  1028  	0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x03, 0x61, 0x64, 0x64, 0x18, 0x01,
  1029  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72,
  1030  	0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, 0x70,
  1031  	0x65, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x03, 0x61, 0x64, 0x64, 0x12,
  1032  	0x36, 0x0a, 0x03, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69,
  1033  	0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e,
  1034  	0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65,
  1035  	0x72, 0x73, 0x52, 0x03, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76,
  1036  	0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22,
  1037  	0xcd, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72,
  1038  	0x65, 0x63, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x18, 0x01, 0x20,
  1039  	0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64,
  1040  	0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65,
  1041  	0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65,
  1042  	0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
  1043  	0x68, 0x6f, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01,
  1044  	0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2e,
  1045  	0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65,
  1046  	0x2e, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x04, 0x70,
  1047  	0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
  1048  	0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
  1049  	0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22,
  1050  	0x49, 0x0a, 0x0c, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12,
  1051  	0x14, 0x0a, 0x04, 0x66, 0x75, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
  1052  	0x04, 0x66, 0x75, 0x6c, 0x6c, 0x12, 0x18, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18,
  1053  	0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42,
  1054  	0x09, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x13, 0x48,
  1055  	0x74, 0x74, 0x70, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74,
  1056  	0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01,
  1057  	0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65,
  1058  	0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73,
  1059  	0x73, 0x61, 0x67, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x03, 0x20,
  1060  	0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64,
  1061  	0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74,
  1062  	0x65, 0x2e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x52, 0x05, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x22, 0x47,
  1063  	0x0a, 0x05, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x65, 0x72,
  1064  	0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6e, 0x75, 0x6d, 0x65,
  1065  	0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x6e,
  1066  	0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x65, 0x6e, 0x6f,
  1067  	0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x35, 0x5a, 0x33, 0x67, 0x69, 0x74, 0x68, 0x75,
  1068  	0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x64, 0x2f, 0x6c, 0x69,
  1069  	0x6e, 0x6b, 0x65, 0x72, 0x64, 0x32, 0x2d, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2d, 0x61, 0x70, 0x69,
  1070  	0x2f, 0x67, 0x6f, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x62, 0x06,
  1071  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  1072  }
  1073  
  1074  var (
  1075  	file_http_route_proto_rawDescOnce sync.Once
  1076  	file_http_route_proto_rawDescData = file_http_route_proto_rawDesc
  1077  )
  1078  
  1079  func file_http_route_proto_rawDescGZIP() []byte {
  1080  	file_http_route_proto_rawDescOnce.Do(func() {
  1081  		file_http_route_proto_rawDescData = protoimpl.X.CompressGZIP(file_http_route_proto_rawDescData)
  1082  	})
  1083  	return file_http_route_proto_rawDescData
  1084  }
  1085  
  1086  var file_http_route_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
  1087  var file_http_route_proto_goTypes = []interface{}{
  1088  	(*HostMatch)(nil),              // 0: io.linkerd.proxy.http_route.HostMatch
  1089  	(*HttpRouteMatch)(nil),         // 1: io.linkerd.proxy.http_route.HttpRouteMatch
  1090  	(*PathMatch)(nil),              // 2: io.linkerd.proxy.http_route.PathMatch
  1091  	(*HeaderMatch)(nil),            // 3: io.linkerd.proxy.http_route.HeaderMatch
  1092  	(*QueryParamMatch)(nil),        // 4: io.linkerd.proxy.http_route.QueryParamMatch
  1093  	(*RequestHeaderModifier)(nil),  // 5: io.linkerd.proxy.http_route.RequestHeaderModifier
  1094  	(*ResponseHeaderModifier)(nil), // 6: io.linkerd.proxy.http_route.ResponseHeaderModifier
  1095  	(*RequestRedirect)(nil),        // 7: io.linkerd.proxy.http_route.RequestRedirect
  1096  	(*PathModifier)(nil),           // 8: io.linkerd.proxy.http_route.PathModifier
  1097  	(*HttpFailureInjector)(nil),    // 9: io.linkerd.proxy.http_route.HttpFailureInjector
  1098  	(*Ratio)(nil),                  // 10: io.linkerd.proxy.http_route.Ratio
  1099  	(*HostMatch_Suffix)(nil),       // 11: io.linkerd.proxy.http_route.HostMatch.Suffix
  1100  	(*http_types.HttpMethod)(nil),  // 12: io.linkerd.proxy.http_types.HttpMethod
  1101  	(*http_types.Headers)(nil),     // 13: io.linkerd.proxy.http_types.Headers
  1102  	(*http_types.Scheme)(nil),      // 14: io.linkerd.proxy.http_types.Scheme
  1103  }
  1104  var file_http_route_proto_depIdxs = []int32{
  1105  	11, // 0: io.linkerd.proxy.http_route.HostMatch.suffix:type_name -> io.linkerd.proxy.http_route.HostMatch.Suffix
  1106  	2,  // 1: io.linkerd.proxy.http_route.HttpRouteMatch.path:type_name -> io.linkerd.proxy.http_route.PathMatch
  1107  	3,  // 2: io.linkerd.proxy.http_route.HttpRouteMatch.headers:type_name -> io.linkerd.proxy.http_route.HeaderMatch
  1108  	4,  // 3: io.linkerd.proxy.http_route.HttpRouteMatch.query_params:type_name -> io.linkerd.proxy.http_route.QueryParamMatch
  1109  	12, // 4: io.linkerd.proxy.http_route.HttpRouteMatch.method:type_name -> io.linkerd.proxy.http_types.HttpMethod
  1110  	13, // 5: io.linkerd.proxy.http_route.RequestHeaderModifier.add:type_name -> io.linkerd.proxy.http_types.Headers
  1111  	13, // 6: io.linkerd.proxy.http_route.RequestHeaderModifier.set:type_name -> io.linkerd.proxy.http_types.Headers
  1112  	13, // 7: io.linkerd.proxy.http_route.ResponseHeaderModifier.add:type_name -> io.linkerd.proxy.http_types.Headers
  1113  	13, // 8: io.linkerd.proxy.http_route.ResponseHeaderModifier.set:type_name -> io.linkerd.proxy.http_types.Headers
  1114  	14, // 9: io.linkerd.proxy.http_route.RequestRedirect.scheme:type_name -> io.linkerd.proxy.http_types.Scheme
  1115  	8,  // 10: io.linkerd.proxy.http_route.RequestRedirect.path:type_name -> io.linkerd.proxy.http_route.PathModifier
  1116  	10, // 11: io.linkerd.proxy.http_route.HttpFailureInjector.ratio:type_name -> io.linkerd.proxy.http_route.Ratio
  1117  	12, // [12:12] is the sub-list for method output_type
  1118  	12, // [12:12] is the sub-list for method input_type
  1119  	12, // [12:12] is the sub-list for extension type_name
  1120  	12, // [12:12] is the sub-list for extension extendee
  1121  	0,  // [0:12] is the sub-list for field type_name
  1122  }
  1123  
  1124  func init() { file_http_route_proto_init() }
  1125  func file_http_route_proto_init() {
  1126  	if File_http_route_proto != nil {
  1127  		return
  1128  	}
  1129  	if !protoimpl.UnsafeEnabled {
  1130  		file_http_route_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1131  			switch v := v.(*HostMatch); i {
  1132  			case 0:
  1133  				return &v.state
  1134  			case 1:
  1135  				return &v.sizeCache
  1136  			case 2:
  1137  				return &v.unknownFields
  1138  			default:
  1139  				return nil
  1140  			}
  1141  		}
  1142  		file_http_route_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1143  			switch v := v.(*HttpRouteMatch); i {
  1144  			case 0:
  1145  				return &v.state
  1146  			case 1:
  1147  				return &v.sizeCache
  1148  			case 2:
  1149  				return &v.unknownFields
  1150  			default:
  1151  				return nil
  1152  			}
  1153  		}
  1154  		file_http_route_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1155  			switch v := v.(*PathMatch); i {
  1156  			case 0:
  1157  				return &v.state
  1158  			case 1:
  1159  				return &v.sizeCache
  1160  			case 2:
  1161  				return &v.unknownFields
  1162  			default:
  1163  				return nil
  1164  			}
  1165  		}
  1166  		file_http_route_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1167  			switch v := v.(*HeaderMatch); i {
  1168  			case 0:
  1169  				return &v.state
  1170  			case 1:
  1171  				return &v.sizeCache
  1172  			case 2:
  1173  				return &v.unknownFields
  1174  			default:
  1175  				return nil
  1176  			}
  1177  		}
  1178  		file_http_route_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1179  			switch v := v.(*QueryParamMatch); i {
  1180  			case 0:
  1181  				return &v.state
  1182  			case 1:
  1183  				return &v.sizeCache
  1184  			case 2:
  1185  				return &v.unknownFields
  1186  			default:
  1187  				return nil
  1188  			}
  1189  		}
  1190  		file_http_route_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1191  			switch v := v.(*RequestHeaderModifier); i {
  1192  			case 0:
  1193  				return &v.state
  1194  			case 1:
  1195  				return &v.sizeCache
  1196  			case 2:
  1197  				return &v.unknownFields
  1198  			default:
  1199  				return nil
  1200  			}
  1201  		}
  1202  		file_http_route_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1203  			switch v := v.(*ResponseHeaderModifier); i {
  1204  			case 0:
  1205  				return &v.state
  1206  			case 1:
  1207  				return &v.sizeCache
  1208  			case 2:
  1209  				return &v.unknownFields
  1210  			default:
  1211  				return nil
  1212  			}
  1213  		}
  1214  		file_http_route_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1215  			switch v := v.(*RequestRedirect); i {
  1216  			case 0:
  1217  				return &v.state
  1218  			case 1:
  1219  				return &v.sizeCache
  1220  			case 2:
  1221  				return &v.unknownFields
  1222  			default:
  1223  				return nil
  1224  			}
  1225  		}
  1226  		file_http_route_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  1227  			switch v := v.(*PathModifier); i {
  1228  			case 0:
  1229  				return &v.state
  1230  			case 1:
  1231  				return &v.sizeCache
  1232  			case 2:
  1233  				return &v.unknownFields
  1234  			default:
  1235  				return nil
  1236  			}
  1237  		}
  1238  		file_http_route_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  1239  			switch v := v.(*HttpFailureInjector); i {
  1240  			case 0:
  1241  				return &v.state
  1242  			case 1:
  1243  				return &v.sizeCache
  1244  			case 2:
  1245  				return &v.unknownFields
  1246  			default:
  1247  				return nil
  1248  			}
  1249  		}
  1250  		file_http_route_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  1251  			switch v := v.(*Ratio); i {
  1252  			case 0:
  1253  				return &v.state
  1254  			case 1:
  1255  				return &v.sizeCache
  1256  			case 2:
  1257  				return &v.unknownFields
  1258  			default:
  1259  				return nil
  1260  			}
  1261  		}
  1262  		file_http_route_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  1263  			switch v := v.(*HostMatch_Suffix); i {
  1264  			case 0:
  1265  				return &v.state
  1266  			case 1:
  1267  				return &v.sizeCache
  1268  			case 2:
  1269  				return &v.unknownFields
  1270  			default:
  1271  				return nil
  1272  			}
  1273  		}
  1274  	}
  1275  	file_http_route_proto_msgTypes[0].OneofWrappers = []interface{}{
  1276  		(*HostMatch_Exact)(nil),
  1277  		(*HostMatch_Suffix_)(nil),
  1278  	}
  1279  	file_http_route_proto_msgTypes[2].OneofWrappers = []interface{}{
  1280  		(*PathMatch_Exact)(nil),
  1281  		(*PathMatch_Prefix)(nil),
  1282  		(*PathMatch_Regex)(nil),
  1283  	}
  1284  	file_http_route_proto_msgTypes[3].OneofWrappers = []interface{}{
  1285  		(*HeaderMatch_Exact)(nil),
  1286  		(*HeaderMatch_Regex)(nil),
  1287  	}
  1288  	file_http_route_proto_msgTypes[4].OneofWrappers = []interface{}{
  1289  		(*QueryParamMatch_Exact)(nil),
  1290  		(*QueryParamMatch_Regex)(nil),
  1291  	}
  1292  	file_http_route_proto_msgTypes[8].OneofWrappers = []interface{}{
  1293  		(*PathModifier_Full)(nil),
  1294  		(*PathModifier_Prefix)(nil),
  1295  	}
  1296  	type x struct{}
  1297  	out := protoimpl.TypeBuilder{
  1298  		File: protoimpl.DescBuilder{
  1299  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1300  			RawDescriptor: file_http_route_proto_rawDesc,
  1301  			NumEnums:      0,
  1302  			NumMessages:   12,
  1303  			NumExtensions: 0,
  1304  			NumServices:   0,
  1305  		},
  1306  		GoTypes:           file_http_route_proto_goTypes,
  1307  		DependencyIndexes: file_http_route_proto_depIdxs,
  1308  		MessageInfos:      file_http_route_proto_msgTypes,
  1309  	}.Build()
  1310  	File_http_route_proto = out.File
  1311  	file_http_route_proto_rawDesc = nil
  1312  	file_http_route_proto_goTypes = nil
  1313  	file_http_route_proto_depIdxs = nil
  1314  }
  1315  

View as plain text