tracker/http.go | 9 ++++++--- diff --git a/tracker/http.go b/tracker/http.go index 8c2682a89d18359498d99045f0c8c49bbad177b3..0a65fc707bd8ec3d59c628df65744fc188607060 100644 --- a/tracker/http.go +++ b/tracker/http.go @@ -5,7 +5,6 @@ "bytes" "errors" "fmt" "io" - "log" "net" "net/http" "net/url" @@ -79,10 +78,14 @@ } defer resp.Body.Close() buf := bytes.Buffer{} io.Copy(&buf, resp.Body) - log.Printf("%q", buf.Bytes()) + if resp.StatusCode != 200 { + err = fmt.Errorf("response from tracker: %s: %s", resp.Status, buf.String()) + return + } var trackerResponse response - err = bencode.NewDecoder(&buf).Decode(&trackerResponse) + err = bencode.Unmarshal(buf.Bytes(), &trackerResponse) if err != nil { + err = fmt.Errorf("error decoding %q: %s", buf.Bytes(), err) return } if trackerResponse.FailureReason != "" {