Skip to content

Commit 8191727

Browse files
committed
Check for errors before logging the response.
When there was an HTTP error (e.g. timeout), we would get error like this, becasue we read fields from `resp` that was nil: ``` panic: runtime error: invalid memory address or nil pointer dereference ```
1 parent c838185 commit 8191727

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

sumologic/sumologic_client.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,11 @@ func (s *Client) PostWithCookies(urlPath string, payload interface{}) ([]byte, [
8787

8888
<-rateLimiter.C
8989
resp, err := s.httpClient.Do(req)
90-
logRequestAndResponse(req, resp)
9190

9291
if err != nil {
9392
return nil, nil, err
9493
}
94+
logRequestAndResponse(req, resp)
9595
defer resp.Body.Close()
9696

9797
respCookie := resp.Cookies()
@@ -127,11 +127,11 @@ func (s *Client) GetWithCookies(urlPath string, cookies []*http.Cookie) ([]byte,
127127

128128
<-rateLimiter.C
129129
resp, err := s.httpClient.Do(req)
130-
logRequestAndResponse(req, resp)
131130

132131
if err != nil {
133132
return nil, "", err
134133
}
134+
logRequestAndResponse(req, resp)
135135
defer resp.Body.Close()
136136

137137
d, err := ioutil.ReadAll(resp.Body)
@@ -164,11 +164,11 @@ func (s *Client) Post(urlPath string, payload interface{}) ([]byte, error) {
164164

165165
<-rateLimiter.C
166166
resp, err := s.httpClient.Do(req)
167-
logRequestAndResponse(req, resp)
168167

169168
if err != nil {
170169
return nil, err
171170
}
171+
logRequestAndResponse(req, resp)
172172
defer resp.Body.Close()
173173

174174
d, err := ioutil.ReadAll(resp.Body)
@@ -197,11 +197,11 @@ func (s *Client) PostRawPayload(urlPath string, payload string) ([]byte, error)
197197

198198
<-rateLimiter.C
199199
resp, err := s.httpClient.Do(req)
200-
logRequestAndResponse(req, resp)
201200

202201
if err != nil {
203202
return nil, err
204203
}
204+
logRequestAndResponse(req, resp)
205205

206206
d, _ := ioutil.ReadAll(resp.Body)
207207

@@ -231,11 +231,11 @@ func (s *Client) Put(urlPath string, payload interface{}) ([]byte, error) {
231231

232232
<-rateLimiter.C
233233
resp, err := s.httpClient.Do(req)
234-
logRequestAndResponse(req, resp)
235234

236235
if err != nil {
237236
return nil, err
238237
}
238+
logRequestAndResponse(req, resp)
239239
defer resp.Body.Close()
240240

241241
d, err := ioutil.ReadAll(resp.Body)
@@ -269,11 +269,11 @@ func (s *Client) GetWithErrOpt(urlPath string, return404Err bool) ([]byte, strin
269269

270270
<-rateLimiter.C
271271
resp, err := s.httpClient.Do(req)
272-
logRequestAndResponse(req, resp)
273-
274272
if err != nil {
275273
return nil, "", err
276274
}
275+
logRequestAndResponse(req, resp)
276+
277277
defer resp.Body.Close()
278278

279279
d, err := ioutil.ReadAll(resp.Body)
@@ -309,11 +309,11 @@ func (s *Client) Delete(urlPath string) ([]byte, error) {
309309

310310
<-rateLimiter.C
311311
resp, err := s.httpClient.Do(req)
312-
logRequestAndResponse(req, resp)
313312

314313
if err != nil {
315314
return nil, err
316315
}
316+
logRequestAndResponse(req, resp)
317317
defer resp.Body.Close()
318318

319319
d, err := ioutil.ReadAll(resp.Body)

0 commit comments

Comments
 (0)