From: Taoufik Date: Thu, 15 Aug 2019 18:32:51 +0000 (+0200) Subject: Fix #483 parse scope with HTTPConnection in sessions X-Git-Tag: 0.12.8~1^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F597%2Fhead;p=thirdparty%2Fstarlette.git Fix #483 parse scope with HTTPConnection in sessions --- diff --git a/starlette/middleware/sessions.py b/starlette/middleware/sessions.py index 8e47454f..aad61ff2 100644 --- a/starlette/middleware/sessions.py +++ b/starlette/middleware/sessions.py @@ -6,7 +6,7 @@ import itsdangerous from itsdangerous.exc import BadTimeSignature, SignatureExpired from starlette.datastructures import MutableHeaders, Secret -from starlette.requests import Request +from starlette.requests import HTTPConnection from starlette.types import ASGIApp, Message, Receive, Scope, Send @@ -33,11 +33,11 @@ class SessionMiddleware: await self.app(scope, receive, send) return - request = Request(scope) + connection = HTTPConnection(scope) initial_session_was_empty = True - if self.session_cookie in request.cookies: - data = request.cookies[self.session_cookie].encode("utf-8") + if self.session_cookie in connection.cookies: + data = connection.cookies[self.session_cookie].encode("utf-8") try: data = self.signer.unsign(data, max_age=self.max_age) scope["session"] = json.loads(b64decode(data))