http_request.go 358 B

123456789101112131415161718192021222324
  1. package request
  2. import (
  3. "io"
  4. "net/http"
  5. "net/url"
  6. )
  7. func copyHTTPRequest(r *http.Request, body io.ReadCloser) *http.Request {
  8. req := new(http.Request)
  9. *req = *r
  10. req.URL = &url.URL{}
  11. *req.URL = *r.URL
  12. req.Body = body
  13. req.Header = http.Header{}
  14. for k, v := range r.Header {
  15. for _, vv := range v {
  16. req.Header.Add(k, vv)
  17. }
  18. }
  19. return req
  20. }