+ def __init__(self, *args, **kwargs):
+ super().__init__(*args, **kwargs)
+
+ # For requests logging
+ self.session.origin_request = self.session.request
+ self.session._parent = self
+
+ def request_wrap(self, *args, **kwargs):
+ try:
+ r = self.origin_request(*args, **kwargs)
+ self._parent._market.report.log_http_request(args[0],
+ args[1], kwargs["data"], kwargs["headers"], r)
+ return r
+ except (SSLError, RequestException) as e:
+ self._parent._market.report.log_http_request(args[0],
+ args[1], kwargs["data"], kwargs["headers"], e)
+ raise e
+
+ self.session.request = request_wrap.__get__(self.session,
+ self.session.__class__)
+