Skip to content

Commit ccb9d53

Browse files
committedMar 10, 2021
fixes #48
1 parent f3f1419 commit ccb9d53

File tree

2 files changed

+40
-38
lines changed

2 files changed

+40
-38
lines changed
 

‎opsgenie_sdk/rest.py

+20-19
Original file line numberDiff line numberDiff line change
@@ -236,27 +236,28 @@ def request(self, method, url, query_params=None, headers=None,
236236
# log response body
237237
logger.debug("response body: %s", r.data)
238238

239-
data = self.decodeResponse(r.data)
240239
http_metrics_request = [('method', method), ('url', url), ('query_params', query_params), ('headers', headers),
241240
('body', body), ('post_params', post_params)]
242-
if "message" not in data:
243-
self.http_metric.build_metric(transaction_id=self.configuration.metrics_transaction_id,
244-
duration=data.get("took"),
245-
resource_path=url,
246-
retry_statistics=copy.deepcopy(self.retrying.statistics),
247-
error=False,
248-
status=r.status,
249-
status_code=r.status,
250-
request=http_metrics_request)
251-
else:
252-
self.http_metric.build_metric(transaction_id=self.configuration.metrics_transaction_id,
253-
duration=data.get("took"),
254-
resource_path=url,
255-
retry_statistics=copy.deepcopy(self.retrying.statistics),
256-
error=True,
257-
status=r.status,
258-
status_code=r.status,
259-
request=http_metrics_request)
241+
242+
try:
243+
data = self.decodeResponse(r.data)
244+
duration = data.get("took")
245+
if "message" not in data:
246+
error = False
247+
else:
248+
error = True
249+
except:
250+
duration = None
251+
error = True
252+
253+
self.http_metric.build_metric(transaction_id=self.configuration.metrics_transaction_id,
254+
duration=duration,
255+
resource_path=url,
256+
retry_statistics=copy.deepcopy(self.retrying.statistics),
257+
error=error,
258+
status=r.status,
259+
status_code=r.status,
260+
request=http_metrics_request)
260261

261262
should_retry = self.__checkHttpCode__(r.status)
262263
if should_retry:

‎templates/rest.mustache

+20-19
Original file line numberDiff line numberDiff line change
@@ -227,27 +227,28 @@ class RESTClientObject(object):
227227
# log response body
228228
logger.debug("response body: %s", r.data)
229229

230-
data = self.decodeResponse(r.data)
231230
http_metrics_request = [('method', method), ('url', url), ('query_params', query_params), ('headers', headers),
232231
('body', body), ('post_params', post_params)]
233-
if "message" not in data:
234-
self.http_metric.build_metric(transaction_id=self.configuration.metrics_transaction_id,
235-
duration=data.get("took"),
236-
resource_path=url,
237-
retry_statistics=copy.deepcopy(self.retrying.statistics),
238-
error=False,
239-
status=r.status,
240-
status_code=r.status,
241-
request=http_metrics_request)
242-
else:
243-
self.http_metric.build_metric(transaction_id=self.configuration.metrics_transaction_id,
244-
duration=data.get("took"),
245-
resource_path=url,
246-
retry_statistics=copy.deepcopy(self.retrying.statistics),
247-
error=True,
248-
status=r.status,
249-
status_code=r.status,
250-
request=http_metrics_request)
232+
233+
try:
234+
data = self.decodeResponse(r.data)
235+
duration = data.get("took")
236+
if "message" not in data:
237+
error = False
238+
else:
239+
error = True
240+
except:
241+
duration = None
242+
error = True
243+
244+
self.http_metric.build_metric(transaction_id=self.configuration.metrics_transaction_id,
245+
duration=duration,
246+
resource_path=url,
247+
retry_statistics=copy.deepcopy(self.retrying.statistics),
248+
error=error,
249+
status=r.status,
250+
status_code=r.status,
251+
request=http_metrics_request)
251252

252253
should_retry = self.__checkHttpCode__(r.status)
253254
if should_retry:

0 commit comments

Comments
 (0)
Please sign in to comment.