request.go
func copyRequest(dstRequest *http.Request, srcRequest *http.Request, buffer io.Reader) {
	*(dstRequest) = *(srcRequest)
	dstRequest.URL = utils.CopyURL(srcRequest.URL)
	dstRequest.Header = make(http.Header)
	utils.CopyHeaders(dstRequest.Header, srcRequest.Header)
	dstRequest.ContentLength = srcRequest.ContentLength

	dstRequest.TransferEncoding = []string{}
	dstRequest.Body = ioutil.NopCloser(buffer)
}
func copyRequest(dstRequest *http.Request, srcRequest *http.Request, buffer io.Reader) {
	*(dstRequest) = *(srcRequest)
	dstRequest.URL = utils.CopyURL(srcRequest.URL)
	dstRequest.Header = make(http.Header)
	utils.CopyHeaders(dstRequest.Header, srcRequest.Header)
	dstRequest.ContentLength = srcRequest.ContentLength

	dstRequest.TransferEncoding = []string{}
	dstRequest.Body = ioutil.NopCloser(buffer)
}
// Helpers