code: func (connection *PluginConnection) Make(request *http.Request, passedResponse *Response, proxyReader ProxyReader) error {
  	// In case this function is called from a retry, passedResponse may already
  	// be populated with a previous response. We reset in case there's an HTTP
  	// error and we don't repopulate it in populateResponse.
  	passedResponse.reset()
  
  	response, err := connection.HTTPClient.Do(request)
  	if err != nil {
  		return connection.processRequestErrors(request, err)
  	}
  
  	body := response.Body
  	if proxyReader != nil {
  		proxyReader.Start(response.ContentLength)
  		defer proxyReader.Finish()
  		body = proxyReader.Wrap(response.Body)
  	}
  
  	return connection.populateResponse(response, passedResponse, body)
  }
docs: // Make performs the request and parses the response.