As for the per-destination part, this can be done by using different Transports for different types of HTTP requests:
https://golang.org/pkg/net/http/#Transport
type Transport struct {
// Proxy specifies a function to return a proxy for a given
// Request.
...
Proxy func(*Request) (*url.URL, error)
As for the per-destination part, this can be done by using different Transports for different types of HTTP requests:
https:/ /golang. org/pkg/ net/http/ #Transport
type Transport struct {
// Proxy specifies a function to return a proxy for a given
// Request.
...
Proxy func(*Request) (*url.URL, error)