def testRetrieveCookie(self):
        sessions = []

        class MyObserver(Observable):
            def handleRequest(self, *args, **kwargs):
                session = self.ctx.session
                sessions.append(session)
                yield utils.okHtml + '<html/>'

        self.handler.addObserver(MyObserver())
        headers, _ = parseResponse(
            asBytes(
                self.handler.handleRequest(RequestURI='/path',
                                           Client=('127.0.0.1', 12345),
                                           Headers={})))
        headers = headers['Headers']
        self.assertTrue('Set-Cookie' in headers, headers)
        cookie = findCookies(headers, self.cookiestore.cookieName(),
                             'Set-Cookie')[0]
        consume(
            self.handler.handleRequest(RequestURI='/path',
                                       Client=('127.0.0.1', 12345),
                                       Headers={
                                           'Cookie':
                                           '{0}={1}'.format(
                                               self.cookiestore.cookieName(),
                                               cookie)
                                       }))
        self.assertEqual(sessions[0], sessions[1])
        self.assertEqual(id(sessions[0]), id(sessions[1]))
Example #2
0
 def testFindCookies(self):
     cookies = utils.findCookies(Headers={
         'Cookie': 'acookie=somevalue; cookiename=value; othercookie=iets',
         'Accept': 'gzip',
     },
                                 name='cookiename')
     self.assertEquals(['value'], cookies)
Example #3
0
 def logout(self, session, Headers, **ignored):
     session.pop(USER, None)
     redirectUrl = self._home
     response = redirectHttp % redirectUrl
     if not self._rememberMeCookie:
         yield response
         return
     cookieName = self.call.cookieName()
     for cookie in findCookies(Headers=Headers, name=cookieName):
         self.call.removeCookie(cookie)
     yield insertHeader([response], 'Set-Cookie: {}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/'.format(cookieName))
Example #4
0
 def testRetrieveCookie(self):
     sessions = []
     def handleRequest(session=None, *args, **kwargs):
         sessions.append(session)
         yield  utils.okHtml + '<html/>'
     self.observer.handleRequest = handleRequest
     headers = asString(self.handler.handleRequest(RequestURI='/path', Client=('127.0.0.1', 12345), Headers={})).split(CRLF*2,1)[0]
     headers = parseHeaders(headers)
     self.assertTrue('Set-Cookie' in headers, headers)
     cookie = findCookies(headers, self.cookiestore.cookieName(), 'Set-Cookie')[0]
     consume(self.handler.handleRequest(RequestURI='/path', Client=('127.0.0.1', 12345), Headers={'Cookie': '{0}={1}'.format(self.cookiestore.cookieName(), cookie)}))
     self.assertEquals(sessions[0], sessions[1])
     self.assertEquals(id(sessions[0]),id(sessions[1]))
Example #5
0
 def logout(self, session, Headers, **ignored):
     session.pop(USER, None)
     redirectUrl = self._home
     response = redirectHttp % redirectUrl
     if not self._rememberMeCookie:
         yield response
         return
     cookieName = self.call.cookieName()
     for cookie in findCookies(Headers=Headers, name=cookieName):
         self.call.removeCookie(cookie)
     yield insertHeader(
         [response],
         'Set-Cookie: {}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/'.
         format(cookieName))
Example #6
0
    def handleRequest(self, session, Headers, **kwargs):
        extraHeader = None
        if 'user' not in session:
            cookieName = self.call.cookieName()
            for cookie in findCookies(Headers=Headers, name=cookieName):
                cookieDict = self.call.validateCookie(cookie)
                if cookieDict is not None:
                    session['user'] = cookieDict['value']
                    extraHeader = cookieDict['header']
                    break

        yield insertHeader(
            compose(self.all.handleRequest(session=session, Headers=Headers, **kwargs)),
            extraHeader
        )
    def handleRequest(self, session, Headers, **kwargs):
        extraHeader = None
        if 'user' not in session:
            cookieName = self.call.cookieName()
            for cookie in findCookies(Headers=Headers, name=cookieName):
                cookieDict = self.call.validateCookie(cookie)
                if cookieDict is not None:
                    session['user'] = cookieDict['value']
                    extraHeader = cookieDict['header']
                    break

        yield insertHeader(
            compose(
                self.all.handleRequest(session=session,
                                       Headers=Headers,
                                       **kwargs)), extraHeader)
 def testFindCookies(self):
     cookies = utils.findCookies(Headers={
         'Cookie':'acookie=somevalue; cookiename=value; othercookie=iets',
         'Accept': 'gzip',
         }, name='cookiename')
     self.assertEquals(['value'], cookies)