From b7d59ebe833e03a1f8286feefd20233326413cd0 Mon Sep 17 00:00:00 2001 From: Edward Marshall Date: Wed, 10 May 2017 13:20:43 +0100 Subject: [PATCH] Fixes for installations without rate-limiting --- exporter/gather.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/exporter/gather.go b/exporter/gather.go index a119bd01..37864ad9 100644 --- a/exporter/gather.go +++ b/exporter/gather.go @@ -40,7 +40,7 @@ func (e *Exporter) gatherData() ([]*Datum, *RateLimits, error) { rates, err := getRates(e.APIURL, e.APIToken) if err != nil { - return data, rates, err + log.Errorf("Unable to obtain rate limit data from API, Error: %s", err) } //return data, rates, err @@ -60,10 +60,14 @@ func getRates(baseURL string, token string) (*RateLimits, error) { defer resp.Body.Close() if err != nil { - log.Errorf("Error requesting http data from API for repository: %s. Got Error: %s", url, err) return &RateLimits{}, err } + // Triggers if rate-limiting isn't enabled on private Github Enterprise installations + if resp.StatusCode == 404 { + return &RateLimits{}, fmt.Errorf("Rate Limiting not enabled in GitHub API") + } + limit, err := strconv.ParseFloat(resp.Header.Get("X-RateLimit-Limit"), 64) if err != nil {