requests
The problem: Go's net/http is powerful and versatile, but using it correctly for client requests can be extremely verbose.https://github.com/carlmjohnson/requests
The solution: The requests.Builder type is a convenient way to build, send, and handle HTTP requests. Builder has a fluent API with methods returning a pointer to the same struct, which allows for declaratively describing a request by method chaining.
Requests also comes with tools for building custom http transports, include a request recorder and replayer for testing.