@@ -79,6 +79,17 @@ func createNewRequest(method, url string, body io.Reader, accessID string, acces
7979 return req , nil
8080}
8181
82+ func (s * Client ) doSumoRequest (req * http.Request ) (* http.Response , error ) {
83+ <- rateLimiter .C
84+ resp , err := s .httpClient .Do (req )
85+ if err != nil {
86+ return nil , err
87+ }
88+
89+ logRequestAndResponse (req , resp )
90+ return resp , nil
91+ }
92+
8293func logRequestAndResponse (req * http.Request , resp * http.Response ) {
8394 var maskedHeader = req .Header .Clone ()
8495 maskedHeader .Set ("Authorization" , "xxxxxxxxxxx" )
@@ -96,16 +107,13 @@ func (s *Client) Post(urlPath string, payload interface{}) ([]byte, error) {
96107 return nil , err
97108 }
98109
99- <- rateLimiter .C
100- resp , err := s .httpClient .Do (req )
101-
110+ resp , err := s .doSumoRequest (req )
102111 if err != nil {
103112 return nil , err
104113 }
105- logRequestAndResponse (req , resp )
106- defer resp .Body .Close ()
107114
108115 d , err := io .ReadAll (resp .Body )
116+ defer resp .Body .Close ()
109117 if err != nil {
110118 return nil , err
111119 }
@@ -123,15 +131,13 @@ func (s *Client) PostRawPayload(urlPath string, payload string) ([]byte, error)
123131 return nil , err
124132 }
125133
126- <- rateLimiter .C
127- resp , err := s .httpClient .Do (req )
128-
134+ resp , err := s .doSumoRequest (req )
129135 if err != nil {
130136 return nil , err
131137 }
132- logRequestAndResponse (req , resp )
133138
134139 d , err := io .ReadAll (resp .Body )
140+ defer resp .Body .Close ()
135141 if err != nil {
136142 return nil , err
137143 }
@@ -157,16 +163,13 @@ func (s *Client) Put(urlPath string, payload interface{}) ([]byte, error) {
157163 }
158164 req .Header .Add ("If-Match" , etag )
159165
160- <- rateLimiter .C
161- resp , err := s .httpClient .Do (req )
162-
166+ resp , err := s .doSumoRequest (req )
163167 if err != nil {
164168 return nil , err
165169 }
166- logRequestAndResponse (req , resp )
167- defer resp .Body .Close ()
168170
169171 d , err := io .ReadAll (resp .Body )
172+ defer resp .Body .Close ()
170173 if err != nil {
171174 return nil , err
172175 }
@@ -188,16 +191,13 @@ func (s *Client) GetWithErrOpt(urlPath string, return404Err bool) ([]byte, strin
188191 return nil , "" , err
189192 }
190193
191- <- rateLimiter .C
192- resp , err := s .httpClient .Do (req )
194+ resp , err := s .doSumoRequest (req )
193195 if err != nil {
194196 return nil , "" , err
195197 }
196- logRequestAndResponse (req , resp )
197-
198- defer resp .Body .Close ()
199198
200199 d , err := io .ReadAll (resp .Body )
200+ defer resp .Body .Close ()
201201 if err != nil {
202202 return nil , "" , err
203203 }
@@ -221,16 +221,13 @@ func (s *Client) Delete(urlPath string) ([]byte, error) {
221221 return nil , err
222222 }
223223
224- <- rateLimiter .C
225- resp , err := s .httpClient .Do (req )
226-
224+ resp , err := s .doSumoRequest (req )
227225 if err != nil {
228226 return nil , err
229227 }
230- logRequestAndResponse (req , resp )
231- defer resp .Body .Close ()
232228
233229 d , err := io .ReadAll (resp .Body )
230+ defer resp .Body .Close ()
234231 if err != nil {
235232 return nil , err
236233 }
0 commit comments