]> Cypherpunks repositories - gostls13.git/commitdiff
misc/dashboard/codereview: better debugging when some fetches fail.
authorDavid Symonds <dsymonds@golang.org>
Fri, 15 Mar 2013 03:45:00 +0000 (14:45 +1100)
committerDavid Symonds <dsymonds@golang.org>
Fri, 15 Mar 2013 03:45:00 +0000 (14:45 +1100)
R=rsc
CC=golang-dev
https://golang.org/cl/7836045

misc/dashboard/codereview/dashboard/cl.go

index e150ea123d1b84df2bc884f506c9b1cc6dd3f510..0ef3303e9d71d1b9a6a5bc954810c8a653c593bd 100644 (file)
@@ -178,8 +178,14 @@ func handleAssign(w http.ResponseWriter, r *http.Request) {
                        return
                }
                defer resp.Body.Close()
+               body, err := ioutil.ReadAll(resp.Body)
+               if err != nil {
+                       c.Errorf("Failed reading body: %v", err)
+                       http.Error(w, err.Error(), 500)
+                       return
+               }
                if resp.StatusCode != 200 {
-                       c.Errorf("Retrieving CL reviewer list failed: got HTTP response %d", resp.StatusCode)
+                       c.Errorf("Retrieving CL reviewer list failed: got HTTP response %d\nBody: %s", resp.StatusCode, body)
                        http.Error(w, "Failed contacting Rietveld", 500)
                        return
                }
@@ -187,7 +193,7 @@ func handleAssign(w http.ResponseWriter, r *http.Request) {
                var apiResp struct {
                        Reviewers []string `json:"reviewers"`
                }
-               if err := json.NewDecoder(resp.Body).Decode(&apiResp); err != nil {
+               if err := json.Unmarshal(body, &apiResp); err != nil {
                        // probably can't be retried
                        msg := fmt.Sprintf("Malformed JSON from %v: %v", url, err)
                        c.Errorf("%s", msg)
@@ -212,8 +218,14 @@ func handleAssign(w http.ResponseWriter, r *http.Request) {
                                return
                        }
                        defer resp.Body.Close()
+                       body, err := ioutil.ReadAll(resp.Body)
+                       if err != nil {
+                               c.Errorf("Failed reading Gobot body: %v", err)
+                               http.Error(w, err.Error(), 500)
+                               return
+                       }
                        if resp.StatusCode != 200 {
-                               c.Errorf("Gobot GET failed: got HTTP response %d", resp.StatusCode)
+                               c.Errorf("Gobot GET failed: got HTTP response %d\nBody: %s", resp.StatusCode, body)
                                http.Error(w, "Failed contacting Gobot", 500)
                                return
                        }