Source code for microraiden.requests

"""
``microraiden.requests`` is an extended version of ``requests`` package that
includes microraiden's payment protocol.

Example::

    import microraiden.requests

    resp = microraiden.requests.get(
      'http://localhost/paywalled_resource',
      web3=web3,
      sender_privkey=my_privkey,
      channel_manager_address='0x4d6e0922e6b703f0fdf92745343a9b83eb656402'
    )

"""
from requests import Response

from microraiden import Session, Client
from microraiden.utils import pop_function_kwargs


[docs]def request(method: str, url: str, **kwargs) -> Response: session_kwargs = pop_function_kwargs(kwargs, Session.__init__) client_kwargs = pop_function_kwargs(kwargs, Client.__init__) session_kwargs.update(client_kwargs) with Session(**session_kwargs) as session: return session.request(method, url, **kwargs)
[docs]def get(url: str, **kwargs) -> Response: kwargs.setdefault('allow_redirects', True) return request('GET', url, **kwargs)
[docs]def options(url: str, **kwargs) -> Response: kwargs.setdefault('allow_redirects', True) return request('OPTIONS', url, **kwargs)
[docs]def post(url: str, **kwargs) -> Response: return request('POST', url, **kwargs)
[docs]def put(url: str, **kwargs) -> Response: return request('PUT', url, **kwargs)
[docs]def patch(url: str, **kwargs) -> Response: return request('PATCH', url, **kwargs)
[docs]def delete(url: str, **kwargs) -> Response: return request('DELETE', url, **kwargs)