code: func (connection *RouterConnection) Make(request *Request, responseToPopulate *Response) 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.
  	responseToPopulate.reset()
  
  	httpResponse, err := connection.HTTPClient.Do(request.Request)
  	if err != nil {
  		// request could not be made, e.g., ssl handshake or tcp dial timeout
  		return connection.processRequestErrors(request.Request, err)
  	}
  
  	return connection.populateResponse(httpResponse, responseToPopulate)
  }
docs: // Make performs the request and parses the response.