gojek / heimdall

An enhanced HTTP client for Go
http://gojek.tech
Apache License 2.0
2.63k stars 214 forks source link

feat: Support for fallbacks with context #128

Open psrajat opened 2 years ago

psrajat commented 2 years ago

Hi Gojek Team!

The fallback function provided by heimdall's Hystrix Client doesn't support context.Context.

While going through afex/hystrix-go, I found that it does support a fallback function with context:

type fallbackFuncC func(context.Context, error) error

Link: https://github.com/afex/hystrix-go/blob/master/hystrix/hystrix.go#L13 This can be used alongwith DoC() instead of Do()

func DoC(ctx context.Context, name string, run runFuncC, fallback fallbackFuncC) error {

Link: https://github.com/afex/hystrix-go/blob/master/hystrix/hystrix.go#L217

This is however a breaking change. Let me know if there's other way.

Thanks!