code: func (p *pilosaProxy) ProxyRequest(orig *http.Request, origbody []byte) (*http.Response, error) {
  	reqURL, err := url.Parse(p.host + orig.URL.String())
  	if err != nil {
  		log.Printf("error parsing url: %v, err: %v", p.host+orig.URL.String(), err)
  		return nil, errors.Wrapf(err, "parsing url: %v", p.host+orig.URL.String())
  	}
  	orig.URL = reqURL
  	orig.Host = ""
  	orig.RequestURI = ""
  	orig.Body = ioutil.NopCloser(bytes.NewBuffer(origbody))
  	orig.ContentLength = int64(len(origbody))
  	resp, err := p.client.Do(orig)
  	return resp, err
  }
docs: // proxyRequest modifies the http.Request object in place to change it from a
  // server side request object to the proxy server to a client side request and
  // sends it to pilosa, returning the response.