code: func Do(req *Request, resp *Response) error {
  	return defaultClient.Do(req, resp)
  }
docs: // Do performs the given http request and fills the given http response.
  //
  // Request must contain at least non-zero RequestURI with full url (including
  // scheme and host) or non-zero Host header + RequestURI.
  //
  // Client determines the server to be requested in the following order:
  //
  //   - from RequestURI if it contains full url with scheme and host;
  //   - from Host header otherwise.
  //
  // The function doesn't follow redirects. Use Get* for following redirects.
  //
  // Response is ignored if resp is nil.
  //
  // ErrNoFreeConns is returned if all DefaultMaxConnsPerHost connections
  // to the requested host are busy.
  //
  // It is recommended obtaining req and resp via AcquireRequest
  // and AcquireResponse in performance-critical code.