コード例 #1
0
ファイル: request.py プロジェクト: ramovsky/aiorest
class Response:

    def __init__(self):
        self.headers = MutableMultiDict()
        self._cookies = http.cookies.SimpleCookie()
        self._deleted_cookies = set()

    def _copy_cookies(self):
        for cookie in self._cookies.values():
            value = cookie.output(header='')[1:]
            self.headers.add('Set-Cookie', value)

    @property
    def cookies(self):
        return self._cookies

    def set_cookie(self, name, value, *, expires=None,
                   domain=None, max_age=None, path=None,
                   secure=None, httponly=None, version=None):
        """Set or update response cookie.

        Sets new cookie or updates existent with new value.
        Also updates only those params which are not None.
        """
        if name in self._deleted_cookies:
            self._deleted_cookies.remove(name)
            self._cookies.pop(name, None)

        self._cookies[name] = value
        c = self._cookies[name]
        if expires is not None:
            c['expires'] = expires
        if domain is not None:
            c['domain'] = domain
        if max_age is not None:
            c['max-age'] = max_age
        if path is not None:
            c['path'] = path
        if secure is not None:
            c['secure'] = secure
        if httponly is not None:
            c['httponly'] = httponly
        if version is not None:
            c['version'] = version

    def del_cookie(self, name, *, domain=None, path=None):
        """Delete cookie.

        Creates new empty expired cookie.
        """
        # TODO: do we need domain/path here?
        self._cookies.pop(name, None)
        self.set_cookie(name, '', max_age=0, domain=domain, path=path)
        self._deleted_cookies.add(name)
コード例 #2
0
 def setUp(self):
     self.loop = mock.Mock()
     self._REQUEST = aiohttp.RawRequestMessage('GET', '/some/path', '1.1',
                                               MutableMultiDict(), True,
                                               None)
コード例 #3
0
ファイル: request.py プロジェクト: imbolc/aiorest
 def __init__(self):
     self.headers = MutableMultiDict()
     self._status_code = 200
     self._cookies = http.cookies.SimpleCookie()
     self._deleted_cookies = set()
コード例 #4
0
 def __init__(self):
     self.headers = MutableMultiDict()
     self._cookies = http.cookies.SimpleCookie()
     self._deleted_cookies = set()
コード例 #5
0
class Response:
    def __init__(self):
        self.headers = MutableMultiDict()
        self._cookies = http.cookies.SimpleCookie()
        self._deleted_cookies = set()

    def _copy_cookies(self):
        for cookie in self._cookies.values():
            value = cookie.output(header='')[1:]
            self.headers.add('Set-Cookie', value)

    @property
    def cookies(self):
        return self._cookies

    def set_cookie(self,
                   name,
                   value,
                   *,
                   expires=None,
                   domain=None,
                   max_age=None,
                   path=None,
                   secure=None,
                   httponly=None,
                   version=None):
        """Set or update response cookie.

        Sets new cookie or updates existent with new value.
        Also updates only those params which are not None.
        """
        if name in self._deleted_cookies:
            self._deleted_cookies.remove(name)
            self._cookies.pop(name, None)

        self._cookies[name] = value
        c = self._cookies[name]
        if expires is not None:
            c['expires'] = expires
        if domain is not None:
            c['domain'] = domain
        if max_age is not None:
            c['max-age'] = max_age
        if path is not None:
            c['path'] = path
        if secure is not None:
            c['secure'] = secure
        if httponly is not None:
            c['httponly'] = httponly
        if version is not None:
            c['version'] = version

    def del_cookie(self, name, *, domain=None, path=None):
        """Delete cookie.

        Creates new empty expired cookie.
        """
        # TODO: do we need domain/path here?
        self._cookies.pop(name, None)
        self.set_cookie(name, '', max_age=0, domain=domain, path=path)
        self._deleted_cookies.add(name)
コード例 #6
0
ファイル: test_multidict.py プロジェクト: wking/aiohttp
 def make_dict(self, *args, **kwargs):
     return MutableMultiDict(*args, **kwargs)