Version: v0.7.1 Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Apr 19, 2019 License: Apache-2.0 Imports: 17 Imported by: 0




This section is empty.


View Source
var (
	ErrInvalidLengthRateLimit = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowRateLimit   = fmt.Errorf("proto: integer overflow")


This section is empty.


type RateLimit

type RateLimit struct {
	// The rate limit domain to use when calling the rate limit service.
	Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"`
	// Specifies the rate limit configurations to be applied with the same
	// stage number. If not set, the default stage number is 0.
	// .. note::
	//  The filter supports a range of 0 - 10 inclusively for stage numbers.
	Stage uint32 `protobuf:"varint,2,opt,name=stage,proto3" json:"stage,omitempty"`
	// The type of requests the filter should apply to. The supported
	// types are *internal*, *external* or *both*. A request is considered internal if
	// :ref:`x-envoy-internal<config_http_conn_man_headers_x-envoy-internal>` is set to true. If
	// :ref:`x-envoy-internal<config_http_conn_man_headers_x-envoy-internal>` is not set or false, a
	// request is considered external. The filter defaults to *both*, and it will apply to all request
	// types.
	RequestType string `protobuf:"bytes,3,opt,name=request_type,json=requestType,proto3" json:"request_type,omitempty"`
	// The timeout in milliseconds for the rate limit service RPC. If not
	// set, this defaults to 20ms.
	Timeout *time.Duration `protobuf:"bytes,4,opt,name=timeout,proto3,stdduration" json:"timeout,omitempty"`
	// The filter's behaviour in case the rate limiting service does
	// not respond back. When it is set to true, Envoy will not allow traffic in case of
	// communication failure between rate limiting service and the proxy.
	// Defaults to false.
	FailureModeDeny bool `protobuf:"varint,5,opt,name=failure_mode_deny,json=failureModeDeny,proto3" json:"failure_mode_deny,omitempty"`
	// Specifies whether a `RESOURCE_EXHAUSTED` gRPC code must be returned instead
	// of the default `UNAVAILABLE` gRPC code for a rate limited gRPC call. The
	// HTTP code will be 200 for a gRPC response.
	RateLimitedAsResourceExhausted bool `` /* 158-byte string literal not displayed */
	// Configuration for an external rate limit service provider. If not
	// specified, any calls to the rate limit service will immediately return
	// success.
	RateLimitService     *v2.RateLimitServiceConfig `protobuf:"bytes,7,opt,name=rate_limit_service,json=rateLimitService,proto3" json:"rate_limit_service,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
	XXX_unrecognized     []byte                     `json:"-"`
	XXX_sizecache        int32                      `json:"-"`

func (*RateLimit) Descriptor

func (*RateLimit) Descriptor() ([]byte, []int)

func (*RateLimit) GetDomain

func (m *RateLimit) GetDomain() string

func (*RateLimit) GetFailureModeDeny added in v0.6.0

func (m *RateLimit) GetFailureModeDeny() bool

func (*RateLimit) GetRateLimitService added in v0.6.6

func (m *RateLimit) GetRateLimitService() *v2.RateLimitServiceConfig

func (*RateLimit) GetRateLimitedAsResourceExhausted added in v0.6.3

func (m *RateLimit) GetRateLimitedAsResourceExhausted() bool

func (*RateLimit) GetRequestType

func (m *RateLimit) GetRequestType() string

func (*RateLimit) GetStage

func (m *RateLimit) GetStage() uint32

func (*RateLimit) GetTimeout

func (m *RateLimit) GetTimeout() *time.Duration

func (*RateLimit) Marshal

func (m *RateLimit) Marshal() (dAtA []byte, err error)

func (*RateLimit) MarshalTo

func (m *RateLimit) MarshalTo(dAtA []byte) (int, error)

func (*RateLimit) ProtoMessage

func (*RateLimit) ProtoMessage()

func (*RateLimit) Reset

func (m *RateLimit) Reset()

func (*RateLimit) Size

func (m *RateLimit) Size() (n int)

func (*RateLimit) String

func (m *RateLimit) String() string

func (*RateLimit) Unmarshal

func (m *RateLimit) Unmarshal(dAtA []byte) error

func (*RateLimit) Validate

func (m *RateLimit) Validate() error

Validate checks the field values on RateLimit with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*RateLimit) XXX_DiscardUnknown

func (m *RateLimit) XXX_DiscardUnknown()

func (*RateLimit) XXX_Marshal

func (m *RateLimit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*RateLimit) XXX_Merge

func (m *RateLimit) XXX_Merge(src proto.Message)

func (*RateLimit) XXX_Size

func (m *RateLimit) XXX_Size() int

func (*RateLimit) XXX_Unmarshal

func (m *RateLimit) XXX_Unmarshal(b []byte) error

type RateLimitValidationError

type RateLimitValidationError struct {
	// contains filtered or unexported fields

RateLimitValidationError is the validation error returned by RateLimit.Validate if the designated constraints aren't met.

func (RateLimitValidationError) Cause

func (e RateLimitValidationError) Cause() error

Cause function returns cause value.

func (RateLimitValidationError) Error

func (e RateLimitValidationError) Error() string

Error satisfies the builtin error interface

func (RateLimitValidationError) ErrorName added in v0.7.0

func (e RateLimitValidationError) ErrorName() string

ErrorName returns error name.

func (RateLimitValidationError) Field

func (e RateLimitValidationError) Field() string

Field function returns field value.

func (RateLimitValidationError) Key

Key function returns key value.

func (RateLimitValidationError) Reason

func (e RateLimitValidationError) Reason() string

Reason function returns reason value.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL