code: func (c *PipelineClient) DoTimeout(req *Request, resp *Response, timeout time.Duration) error {
  	return c.DoDeadline(req, resp, time.Now().Add(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.
  //
  // The function doesn't follow redirects.
  //
  // Response is ignored if resp is nil.
  //
  // ErrTimeout is returned if the response wasn't returned during
  // the given timeout.
  //
  // 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 setting a ReadTimeout.