Fix bad circuit breaker expression
Signed-off-by: Emile Vauge <emile@vauge.com>
This commit is contained in:
parent
fd5352b0c6
commit
e4ed7fd8f7
|
@ -12,9 +12,12 @@ type CircuitBreaker struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewCircuitBreaker returns a new CircuitBreaker.
|
// NewCircuitBreaker returns a new CircuitBreaker.
|
||||||
func NewCircuitBreaker(next http.Handler, expression string, options ...cbreaker.CircuitBreakerOption) *CircuitBreaker {
|
func NewCircuitBreaker(next http.Handler, expression string, options ...cbreaker.CircuitBreakerOption) (*CircuitBreaker, error) {
|
||||||
circuitBreaker, _ := cbreaker.New(next, expression, options...)
|
circuitBreaker, err := cbreaker.New(next, expression, options...)
|
||||||
return &CircuitBreaker{circuitBreaker}
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &CircuitBreaker{circuitBreaker}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (cb *CircuitBreaker) ServeHTTP(rw http.ResponseWriter, r *http.Request, next http.HandlerFunc) {
|
func (cb *CircuitBreaker) ServeHTTP(rw http.ResponseWriter, r *http.Request, next http.HandlerFunc) {
|
||||||
|
|
|
@ -507,7 +507,13 @@ func (server *Server) loadConfig(configurations configs, globalConfiguration Glo
|
||||||
var negroni = negroni.New()
|
var negroni = negroni.New()
|
||||||
if configuration.Backends[frontend.Backend].CircuitBreaker != nil {
|
if configuration.Backends[frontend.Backend].CircuitBreaker != nil {
|
||||||
log.Debugf("Creating circuit breaker %s", configuration.Backends[frontend.Backend].CircuitBreaker.Expression)
|
log.Debugf("Creating circuit breaker %s", configuration.Backends[frontend.Backend].CircuitBreaker.Expression)
|
||||||
negroni.Use(middlewares.NewCircuitBreaker(lb, configuration.Backends[frontend.Backend].CircuitBreaker.Expression, cbreaker.Logger(oxyLogger)))
|
cbreaker, err := middlewares.NewCircuitBreaker(lb, configuration.Backends[frontend.Backend].CircuitBreaker.Expression, cbreaker.Logger(oxyLogger))
|
||||||
|
if err != nil {
|
||||||
|
log.Errorf("Error creating circuit breaker: %v", err)
|
||||||
|
log.Errorf("Skipping frontend %s...", frontendName)
|
||||||
|
continue frontend
|
||||||
|
}
|
||||||
|
negroni.Use(cbreaker)
|
||||||
} else {
|
} else {
|
||||||
negroni.UseHandler(lb)
|
negroni.UseHandler(lb)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue