http.request wrapper with gzip, request retries and http.Agent tuning