That looks perfectly reasonable. I was mostly avoiding Go's actual "net/http" package. Not for any particular reason, it's a nice API, just wanted a slightly different approach. :)

 

I think retries and traffic management flow should be left on the service mesh level.
There is a good read here

istio.io/docs/concepts/traffic-man...

I would also love to see something like that in Go
thepollyproject.org/

Definitely good arguments to be made in favour of that, but somewhat outside of the scope of this post. 😀

code of conduct - report abuse