def request(self, is_idempotent=False, **kwargs):
        """
        Execute an HTTP request with the current client session.

        Use the retry policy configured in the client when is_idempotent is True
        """
        kwargs.setdefault('timeout', self.connection_timeout)

        def invoke_request():
            r = self.session.request(**kwargs)

            try:
                r.raise_for_status()
                return r
            except __HOLE__:
                logger.debug('%s: %s', r, r.content)
                raise

        if is_idempotent:
            return self.retrier.call(invoke_request)
        else:
            return invoke_request()
dataset/ETHPy150Open scrapinghub/python-hubstorage/hubstorage/client.py/HubstorageClient.request