Documentation ¶
Index ¶
- Constants
- func DefaultRspCachePredicate(rsp Rsp, _ map[string]string) bool
- func DefaultRspFailedPredicate(rsp Rsp, _ map[string]string) bool
- func RegisterFallbackFunction(name string, function FallbackFunction) error
- func RegisterRspCachePredicate(name string, predicate RspCachePredicate) error
- func RegisterRspFailedPredicate(name string, predicate RspFailedPredicate) error
- type BulkheadConfig
- type CacheConfig
- type CircuitBreakerConfig
- type Config
- type Decorator
- type FallbackConfig
- type FallbackFunction
- type OrderedDecorator
- func NewBulkheadPlugin(name string, config *BulkheadConfig) (bulkhead.Bulkhead, *OrderedDecorator)
- func NewCachePlugin(name string, config *CacheConfig) (cache.Cache[Req, Rsp], *OrderedDecorator)
- func NewCircuitBreakerPlugin(name string, config *CircuitBreakerConfig) (circuitbreaker.CircuitBreaker, *OrderedDecorator)
- func NewFallbackPlugin(config *FallbackConfig) *OrderedDecorator
- func NewRateLimiterPlugin(name string, config *RateLimiterConfig) (ratelimiter.RateLimiter, *OrderedDecorator)
- func NewRetryPlugin(name string, config *RetryConfig) (retry.Retry, *OrderedDecorator)
- func NewTimeLimiterPlugin(name string, config *TimeLimiterConfig) (timelimiter.TimeLimiter, *OrderedDecorator)
- type RateLimiterConfig
- type RetryConfig
- type RspCachePredicate
- type RspFailedPredicate
- type TimeLimiterConfig
Constants ¶
View Source
const BulkheadDefaultOrder = "100"
View Source
const CacheDefaultOrder = "600"
View Source
const CircuitBreakerDefaultOrder = "400"
View Source
const FallbackDefaultOrder = "700"
View Source
const RateLimiterDefaultOrder = "300"
View Source
const RetryDefaultOrder = "500"
View Source
const TimeLimiterDefaultOrder = "200"
Variables ¶
This section is empty.
Functions ¶
func RegisterFallbackFunction ¶
func RegisterFallbackFunction(name string, function FallbackFunction) error
func RegisterRspCachePredicate ¶
func RegisterRspCachePredicate(name string, predicate RspCachePredicate) error
func RegisterRspFailedPredicate ¶
func RegisterRspFailedPredicate(name string, predicate RspFailedPredicate) error
Types ¶
type BulkheadConfig ¶
type CacheConfig ¶
type CircuitBreakerConfig ¶
type CircuitBreakerConfig struct { Disabled string SlidingWindowType string SlidingWindowSize string MinimumNumberOfCalls string FailureRateThreshold string SlowCallRateThreshold string SlowCallDurationThreshold string ResponseFailedPredicate string ResponseFailedPredicateContext map[string]string AutomaticTransitionFromOpenToHalfOpen string WaitIntervalInOpenState string PermittedNumberOfCallsInHalfOpenState string MaxWaitDurationInHalfOpenState string WhenOverLoadResponse string Order string }
type Config ¶ added in v0.1.1
type Config struct { Bulkhead BulkheadConfig TimeLimiter TimeLimiterConfig RateLimiter RateLimiterConfig CircuitBreaker CircuitBreakerConfig Retry RetryConfig Cache CacheConfig Fallback FallbackConfig }
type Decorator ¶ added in v0.1.1
type Decorator struct { Bulkhead bulkhead.Bulkhead TimeLimiter timelimiter.TimeLimiter RateLimiter ratelimiter.RateLimiter CircuitBreaker circuitbreaker.CircuitBreaker Retry retry.Retry Cache cache.Cache[Req, Rsp] RegisterFn promhelper.RegisterFn UnregisterFn promhelper.UnregisterFn // contains filtered or unexported fields }
func NewDecorator ¶ added in v0.1.1
type FallbackConfig ¶
type FallbackFunction ¶
func GetFallbackFunction ¶
func GetFallbackFunction(name string) FallbackFunction
type OrderedDecorator ¶ added in v0.1.1
type OrderedDecorator struct { Decorator ReverseProxyDecorator // contains filtered or unexported fields }
func NewBulkheadPlugin ¶
func NewBulkheadPlugin(name string, config *BulkheadConfig) (bulkhead.Bulkhead, *OrderedDecorator)
func NewCachePlugin ¶
func NewCachePlugin(name string, config *CacheConfig) (cache.Cache[Req, Rsp], *OrderedDecorator)
func NewCircuitBreakerPlugin ¶
func NewCircuitBreakerPlugin(name string, config *CircuitBreakerConfig) (circuitbreaker.CircuitBreaker, *OrderedDecorator)
func NewFallbackPlugin ¶
func NewFallbackPlugin(config *FallbackConfig) *OrderedDecorator
func NewRateLimiterPlugin ¶
func NewRateLimiterPlugin(name string, config *RateLimiterConfig) (ratelimiter.RateLimiter, *OrderedDecorator)
func NewRetryPlugin ¶
func NewRetryPlugin(name string, config *RetryConfig) (retry.Retry, *OrderedDecorator)
func NewTimeLimiterPlugin ¶
func NewTimeLimiterPlugin(name string, config *TimeLimiterConfig) (timelimiter.TimeLimiter, *OrderedDecorator)
func (*OrderedDecorator) Decorate ¶ added in v0.1.1
func (d *OrderedDecorator) Decorate(rp ReverseProxy) ReverseProxy
func (*OrderedDecorator) Order ¶ added in v0.1.1
func (d *OrderedDecorator) Order() string
type RateLimiterConfig ¶
type RetryConfig ¶
type RspCachePredicate ¶
func GetRspCachePredicate ¶
func GetRspCachePredicate(name string) RspCachePredicate
type RspFailedPredicate ¶
func GetRspFailedPredicate ¶
func GetRspFailedPredicate(name string) RspFailedPredicate
Click to show internal directories.
Click to hide internal directories.