Skip to content

Commit 07210c1

Browse files
author
Sean Sain
committed
clean up addHeaders
1 parent 691c3d5 commit 07210c1

File tree

1 file changed

+32
-21
lines changed

1 file changed

+32
-21
lines changed

sumologic/sumologic_client.go

Lines changed: 32 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"encoding/json"
66
"errors"
77
"fmt"
8+
"io"
89
"io/ioutil"
910
"net/http"
1011
"net/url"
@@ -35,11 +36,15 @@ var endpoints = map[string]string{
3536

3637
var rateLimiter = time.Tick(time.Minute / 240)
3738

38-
func addHeaders(request *http.Request, accessId string, accessKey string) *http.Request {
39-
request.Header.Add("Content-Type", "application/json")
40-
request.Header.Add("User-Agent", "SumoLogicTerraformProvider/2.0.0")
41-
request.SetBasicAuth(accessId, accessKey)
42-
return request
39+
func createNewRequest(method, url string, body io.Reader, accessID string, accessKey string) (*http.Request, error) {
40+
req, err := http.NewRequest(method, url, body)
41+
if err != nil {
42+
return nil, err
43+
}
44+
req.Header.Add("Content-Type", "application/json")
45+
req.Header.Add("User-Agent", "SumoLogicTerraformProvider/2.0.0")
46+
req.SetBasicAuth(accessID, accessKey)
47+
return req, nil
4348
}
4449

4550
func (s *Client) PostWithCookies(urlPath string, payload interface{}) ([]byte, []*http.Cookie, error) {
@@ -55,13 +60,11 @@ func (s *Client) PostWithCookies(urlPath string, payload interface{}) ([]byte, [
5560
return nil, nil, err
5661
}
5762

58-
req, err := http.NewRequest(http.MethodPost, sumoURL.String(), bytes.NewBuffer(body))
63+
req, err := createNewRequest(http.MethodPost, sumoURL.String(), bytes.NewBuffer(body), s.AccessID, s.AccessKey)
5964
if err != nil {
6065
return nil, nil, err
6166
}
6267

63-
req = addHeaders(req, s.AccessID, s.AccessKey)
64-
6568
<-rateLimiter
6669
resp, err := s.httpClient.Do(req)
6770
if err != nil {
@@ -91,13 +94,11 @@ func (s *Client) GetWithCookies(urlPath string, cookies []*http.Cookie) ([]byte,
9194

9295
sumoURL := s.BaseURL.ResolveReference(relativeURL)
9396

94-
req, err := http.NewRequest(http.MethodGet, sumoURL.String(), nil)
97+
req, err := createNewRequest(http.MethodGet, sumoURL.String(), nil, s.AccessID, s.AccessKey)
9598
if err != nil {
9699
return nil, "", err
97100
}
98101

99-
req = addHeaders(req, s.AccessID, s.AccessKey)
100-
101102
for _, cookie := range cookies {
102103
req.AddCookie(cookie)
103104
}
@@ -128,8 +129,10 @@ func (s *Client) Post(urlPath string, payload interface{}) ([]byte, error) {
128129
sumoURL := s.BaseURL.ResolveReference(relativeURL)
129130

130131
body, _ := json.Marshal(payload)
131-
req, _ := http.NewRequest(http.MethodPost, sumoURL.String(), bytes.NewBuffer(body))
132-
req = addHeaders(req, s.AccessID, s.AccessKey)
132+
req, err := createNewRequest(http.MethodPost, sumoURL.String(), bytes.NewBuffer(body), s.AccessID, s.AccessKey)
133+
if err != nil {
134+
return nil, err
135+
}
133136

134137
<-rateLimiter
135138
resp, err := s.httpClient.Do(req)
@@ -153,8 +156,10 @@ func (s *Client) Post(urlPath string, payload interface{}) ([]byte, error) {
153156
func (s *Client) PostRawPayload(urlPath string, payload string) ([]byte, error) {
154157
relativeURL, _ := url.Parse(urlPath)
155158
sumoURL := s.BaseURL.ResolveReference(relativeURL)
156-
req, _ := http.NewRequest(http.MethodPost, sumoURL.String(), bytes.NewBuffer([]byte(payload)))
157-
req = addHeaders(req, s.AccessID, s.AccessKey)
159+
req, err := createNewRequest(http.MethodPost, sumoURL.String(), bytes.NewBuffer([]byte(payload)), s.AccessID, s.AccessKey)
160+
if err != nil {
161+
return nil, err
162+
}
158163

159164
<-rateLimiter
160165
resp, err := s.httpClient.Do(req)
@@ -182,8 +187,10 @@ func (s *Client) Put(urlPath string, payload interface{}) ([]byte, error) {
182187
_, etag, _ := s.Get(sumoURL.String())
183188

184189
body, _ := json.Marshal(payload)
185-
req, _ := http.NewRequest(http.MethodPut, sumoURL.String(), bytes.NewBuffer(body))
186-
req = addHeaders(req, s.AccessID, s.AccessKey)
190+
req, err := createNewRequest(http.MethodPut, sumoURL.String(), bytes.NewBuffer(body), s.AccessID, s.AccessKey)
191+
if err != nil {
192+
return nil, err
193+
}
187194
req.Header.Add("If-Match", etag)
188195

189196
<-rateLimiter
@@ -209,8 +216,10 @@ func (s *Client) Get(urlPath string) ([]byte, string, error) {
209216
relativeURL, _ := url.Parse(urlPath)
210217
sumoURL := s.BaseURL.ResolveReference(relativeURL)
211218

212-
req, _ := http.NewRequest(http.MethodGet, sumoURL.String(), nil)
213-
req = addHeaders(req, s.AccessID, s.AccessKey)
219+
req, err := createNewRequest(http.MethodGet, sumoURL.String(), nil, s.AccessID, s.AccessKey)
220+
if err != nil {
221+
return nil, "", err
222+
}
214223

215224
<-rateLimiter
216225
resp, err := s.httpClient.Do(req)
@@ -237,8 +246,10 @@ func (s *Client) Delete(urlPath string) ([]byte, error) {
237246
relativeURL, _ := url.Parse(urlPath)
238247
sumoURL := s.BaseURL.ResolveReference(relativeURL)
239248

240-
req, _ := http.NewRequest(http.MethodDelete, sumoURL.String(), nil)
241-
req = addHeaders(req, s.AccessID, s.AccessKey)
249+
req, err := createNewRequest(http.MethodDelete, sumoURL.String(), nil, s.AccessID, s.AccessKey)
250+
if err != nil {
251+
return nil, err
252+
}
242253

243254
<-rateLimiter
244255
resp, err := s.httpClient.Do(req)

0 commit comments

Comments
 (0)