http.request wrapper