コード例 #1
0
    async def _send_http_request(self,
                                 url: str,
                                 payload: Optional[str],
                                 method: str = 'post',
                                 **kwargs: Any) -> Response:
        """
        Sends the actual HTTP request.

        Split into its own method so that it can be mocked during unit
        tests.
        """
        kwargs.setdefault(
            'timeout',
            self.timeout if self.timeout else get_default_timeout(),
        )

        if self.authentication:
            kwargs.setdefault('auth', BasicAuth(*self.authentication))

        self._log(
            level=DEBUG,
            message='Sending {method} to {url}: {payload!r}'.format(
                method=method,
                payload=payload,
                url=url,
            ),
            context={
                'request_method': method,
                'request_kwargs': kwargs,
                'request_payload': payload,
                'request_url': url,
            },
        )
        response = await self.client.request(method=method,
                                             url=url,
                                             data=payload,
                                             **kwargs)

        self._log(
            level=DEBUG,
            message='Receiving {method} from {url}: {response!r}'.format(
                method=method,
                response=response.content,
                url=url,
            ),
            context={
                'request_method': method,
                'request_kwargs': kwargs,
                'request_payload': payload,
                'request_url': url,
                'response_headers': response.headers,
                'response_content': response.content,
            },
        )

        return response
コード例 #2
0
ファイル: __init__.py プロジェクト: grendias/iota.lib.py
  def _send_http_request(self, url, payload, method='post', **kwargs):
    # type: (Text, Optional[Text], Text, dict) -> Response
    """
    Sends the actual HTTP request.

    Split into its own method so that it can be mocked during unit
    tests.
    """
    kwargs.setdefault('timeout', get_default_timeout())

    self._log(
      level = DEBUG,

      message = 'Sending {method} to {url}: {payload!r}'.format(
        method  = method,
        payload = payload,
        url     = url,
      ),

      context = {
        'request_method':   method,
        'request_kwargs':   kwargs,
        'request_payload':  payload,
        'request_url':      url,
      },
    )

    response = request(method=method, url=url, data=payload, **kwargs)

    self._log(
      level = DEBUG,

      message = 'Receiving {method} from {url}: {response!r}'.format(
        method    = method,
        response  = response.content,
        url       = url,
      ),

      context = {
        'request_method':   method,
        'request_kwargs':   kwargs,
        'request_payload':  payload,
        'request_url':      url,

        'response_headers': response.headers,
        'response_content': response.content,
      },
    )

    return response
コード例 #3
0
ファイル: __init__.py プロジェクト: shawyun/iota.lib.py
    def _send_http_request(self, url, payload, method='post', **kwargs):
        # type: (Text, Optional[Text], Text, dict) -> Response
        """
    Sends the actual HTTP request.

    Split into its own method so that it can be mocked during unit
    tests.
    """

        default_timeout = self.timeout if self.timeout else get_default_timeout(
        )
        kwargs.setdefault('timeout', default_timeout)
        if self.authentication:
            kwargs.setdefault('auth', auth.HTTPBasicAuth(*self.authentication))

        self._log(
            level=DEBUG,
            message='Sending {method} to {url}: {payload!r}'.format(
                method=method,
                payload=payload,
                url=url,
            ),
            context={
                'request_method': method,
                'request_kwargs': kwargs,
                'request_payload': payload,
                'request_url': url,
            },
        )

        response = request(method=method, url=url, data=payload, **kwargs)

        self._log(
            level=DEBUG,
            message='Receiving {method} from {url}: {response!r}'.format(
                method=method,
                response=response.content,
                url=url,
            ),
            context={
                'request_method': method,
                'request_kwargs': kwargs,
                'request_payload': payload,
                'request_url': url,
                'response_headers': response.headers,
                'response_content': response.content,
            },
        )

        return response