]> git.ipfire.org Git - thirdparty/starlette.git/commitdiff
Fix #483 parse scope with HTTPConnection in sessions 597/head
authorTaoufik <abacidtaoufik@gmail.com>
Thu, 15 Aug 2019 18:32:51 +0000 (20:32 +0200)
committertaoufik <abacidtaoufik@gmail.com>
Fri, 16 Aug 2019 09:31:06 +0000 (11:31 +0200)
starlette/middleware/sessions.py

index 8e47454fc5ed9f3299b27982e328bfd1e4c30caa..aad61ff245f9f5464dd17e5978c82ca679dd8f22 100644 (file)
@@ -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))