Moved to google.golang.org/genproto/googleapis/api/annotations
Fixes #52
This commit is contained in:
31
vendor/github.com/go-kit/kit/circuitbreaker/hystrix.go
generated
vendored
Normal file
31
vendor/github.com/go-kit/kit/circuitbreaker/hystrix.go
generated
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
package circuitbreaker
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/afex/hystrix-go/hystrix"
|
||||
|
||||
"github.com/go-kit/kit/endpoint"
|
||||
)
|
||||
|
||||
// Hystrix returns an endpoint.Middleware that implements the circuit
|
||||
// breaker pattern using the afex/hystrix-go package.
|
||||
//
|
||||
// When using this circuit breaker, please configure your commands separately.
|
||||
//
|
||||
// See https://godoc.org/github.com/afex/hystrix-go/hystrix for more
|
||||
// information.
|
||||
func Hystrix(commandName string) endpoint.Middleware {
|
||||
return func(next endpoint.Endpoint) endpoint.Endpoint {
|
||||
return func(ctx context.Context, request interface{}) (response interface{}, err error) {
|
||||
var resp interface{}
|
||||
if err := hystrix.Do(commandName, func() (err error) {
|
||||
resp, err = next(ctx, request)
|
||||
return err
|
||||
}, nil); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return resp, nil
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user