code: func DoTimeout(req *Request, resp *Response, timeout time.Duration) error {
  	return defaultClient.DoTimeout(req, resp, timeout)
  }
docs: // DoTimeout performs the given request and waits for response during
  // the given timeout duration.
  //
  // 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.
  //
  // ErrTimeout is returned if the response wasn't returned during
  // the given timeout.
  //
  // 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.
  //
  // Warning: DoTimeout does not terminate the request itself. The request will
  // continue in the background and the response will be discarded.
  // If requests take too long and the connection pool gets filled up please
  // try using a Client and setting a ReadTimeout.