▲ 3 ▼ Let the doer do it
There are lots of Go packages out there that make HTTP requests, maybe because they wrap a RESTful API or they do web crawling, etc. Regardless of the reason, at some point they use an *http.Client to make those requests. This article is a recommendation on how I believe this client should be managed in the context of reusable packages. But let’s start by looking at various common ways it is used, and why this isn’t optimal.