code: func applyHeadersToRequest(req *http.Request, content *bytes.Buffer, host string, requestType string) {
  	req.Header.Add("User-Agent", "git/1.0")
  	req.Header.Add("Host", host) // host:port
  
  	if content == nil {
  		req.Header.Add("Accept", "*/*")
  		return
  	}
  
  	req.Header.Add("Accept", fmt.Sprintf("application/x-%s-result", requestType))
  	req.Header.Add("Content-Type", fmt.Sprintf("application/x-%s-request", requestType))
  	req.Header.Add("Content-Length", strconv.Itoa(content.Len()))
  }
docs: // it requires a bytes.Buffer, because we need to know the length