@@ -128,7 +128,7 @@ func (s *Client) GetWithCookies(urlPath string, cookies []*http.Cookie) ([]byte,
128128 return d , resp .Header .Get ("ETag" ), nil
129129}
130130
131- func (s * Client ) Post (urlPath string , payload interface {}) ([]byte , error ) {
131+ func (s * Client ) Post (urlPath string , payload interface {}, isAdminMode bool ) ([]byte , error ) {
132132 relativeURL , _ := url .Parse (urlPath )
133133 sumoURL := s .BaseURL .ResolveReference (relativeURL )
134134
@@ -138,6 +138,10 @@ func (s *Client) Post(urlPath string, payload interface{}) ([]byte, error) {
138138 return nil , err
139139 }
140140
141+ if isAdminMode {
142+ req .Header .Add ("isAdminMode" , "true" )
143+ }
144+
141145 <- rateLimiter .C
142146 resp , err := s .httpClient .Do (req )
143147 if err != nil {
@@ -181,14 +185,14 @@ func (s *Client) PostRawPayload(urlPath string, payload string) ([]byte, error)
181185 return d , nil
182186}
183187
184- func (s * Client ) Put (urlPath string , payload interface {}) ([]byte , error ) {
188+ func (s * Client ) Put (urlPath string , payload interface {}, isAdminMode bool ) ([]byte , error ) {
185189 SumoMutexKV .Lock (urlPath )
186190 defer SumoMutexKV .Unlock (urlPath )
187191
188192 relativeURL , _ := url .Parse (urlPath )
189193 sumoURL := s .BaseURL .ResolveReference (relativeURL )
190194
191- _ , etag , _ := s .Get (sumoURL .String ())
195+ _ , etag , _ := s .Get (sumoURL .String (), false )
192196
193197 body , _ := json .Marshal (payload )
194198 req , err := createNewRequest (http .MethodPut , sumoURL .String (), bytes .NewBuffer (body ), s .AccessID , s .AccessKey )
@@ -197,6 +201,10 @@ func (s *Client) Put(urlPath string, payload interface{}) ([]byte, error) {
197201 }
198202 req .Header .Add ("If-Match" , etag )
199203
204+ if isAdminMode {
205+ req .Header .Add ("isAdminMode" , "true" )
206+ }
207+
200208 <- rateLimiter .C
201209 resp , err := s .httpClient .Do (req )
202210 if err != nil {
@@ -216,7 +224,7 @@ func (s *Client) Put(urlPath string, payload interface{}) ([]byte, error) {
216224 return d , nil
217225}
218226
219- func (s * Client ) Get (urlPath string ) ([]byte , string , error ) {
227+ func (s * Client ) Get (urlPath string , isAdminMode bool ) ([]byte , string , error ) {
220228 relativeURL , _ := url .Parse (urlPath )
221229 sumoURL := s .BaseURL .ResolveReference (relativeURL )
222230
@@ -225,6 +233,10 @@ func (s *Client) Get(urlPath string) ([]byte, string, error) {
225233 return nil , "" , err
226234 }
227235
236+ if isAdminMode {
237+ req .Header .Add ("isAdminMode" , "true" )
238+ }
239+
228240 <- rateLimiter .C
229241 resp , err := s .httpClient .Do (req )
230242 if err != nil {
0 commit comments