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
3637var 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
4550func (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) {
153156func (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