in gerrit/server.go [174:196]
func (g *Server) putPostPath(method string, pth string, contentType string, content []byte) ([]byte, error) {
u := g.URL
u.Path = path.Join(u.Path, pth)
if strings.HasSuffix(pth, "/") && !strings.HasSuffix(u.Path, "/") {
// Ugh.
u.Path += "/"
}
req, err := http.NewRequest(method, u.String(), bytes.NewBuffer(content))
if err != nil {
return nil, err
}
req.Header.Set("Content-Type", contentType)
rep, err := g.Do(req)
if err != nil {
return nil, err
}
if rep.StatusCode/100 != 2 {
return nil, fmt.Errorf("%s %s: status %d", method, u.String(), rep.StatusCode)
}
defer rep.Body.Close()
return ioutil.ReadAll(rep.Body)
}