Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
Functions ¶
This section is empty.
Types ¶
type CircuitBreaker ¶
type CircuitBreaker struct {
// contains filtered or unexported fields
}
func NewCircuitBreaker ¶
func NewCircuitBreaker(config Config, name string, rdb RedisClient) *CircuitBreaker
func (*CircuitBreaker) DoRequest ¶
func (cb *CircuitBreaker) DoRequest(req *http.Request) *CircuitBreakerResponse
func (*CircuitBreaker) SetFallbackFunc ¶
func (cb *CircuitBreaker) SetFallbackFunc(f func(*http.Request) *CircuitBreakerResponse)
type CircuitBreakerResponse ¶
type CircuitBreakerResponse struct { HttpStatus int `json:"http-status"` ResponseType ResponseType `json:"response-type"` Data interface{} `json:"data,omitempty"` Error *ErrorDetail `json:"error,omitempty"` Raw interface{} `json:"raw,omitempty"` }
type ErrorDetail ¶
type RedisClient ¶
type ResponseType ¶
type ResponseType string
const ( Success ResponseType = "success" Fallback ResponseType = "fallback" Error ResponseType = "error" )
Click to show internal directories.
Click to hide internal directories.