Source code for pytwitch.twitch

"""API for communicating with twitch"""
from requests.sessions import Session


[docs]class BaseSession(Session): """Session that stores a baseurl that will be prepended for every request """
[docs] def __init__(self, baseurl=None): """Initialize a new BaseSession with the given baseurl :param baseurl: a url that will always be prepended for every request :type baseurl: :class:`str` | None :raises: None """ super(BaseSession, self).__init__() self.baseurl = baseurl """The baseurl that gets prepended to every request url"""
[docs] def request(self, method, url, **kwargs): """Constructs a :class:`requests.model.Request`, prepares it and sends it. Raises HTTPErrors by default. :param method: method for the new :class:`Request` object. :type method: :class:`str` :param url: URL for the new :class:`Request` object. :type url: :class:`str` :param kwargs: keyword arguments of :meth:`requests.session.Session.request` :returns: a resonse object :rtype: :class:`requests.model.Response` :raises: :class:`requests.exceptions.HTTPError` """ fullurl = self.baseurl + url if self.baseurl else url r = super(BaseSession, self).request(method, fullurl, **kwargs) r.raise_for_status() return r