Skip to content

Commit 0aec0d9

Browse files
committed
Check should_set_cookie before setting it
setting the cookie on every request is not ideal in many cases. checking this method mimics the behavior of the default flask logic allowing configuration of when cookies should be set. this changes nothing unless SESSION_REFRESH_EACH_REQUEST is true in app config.
1 parent a753a2c commit 0aec0d9

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

flask_session/sessions.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,8 @@ def open_session(self, app, request):
139139
return self.session_class(sid=sid, permanent=self.permanent)
140140

141141
def save_session(self, app, session, response):
142+
if not self.should_set_cookie(app, session):
143+
return
142144
domain = self.get_cookie_domain(app)
143145
path = self.get_cookie_path(app)
144146
if not session:
@@ -260,6 +262,8 @@ def open_session(self, app, request):
260262
return self.session_class(sid=sid, permanent=self.permanent)
261263

262264
def save_session(self, app, session, response):
265+
if not self.should_set_cookie(app, session):
266+
return
263267
domain = self.get_cookie_domain(app)
264268
path = self.get_cookie_path(app)
265269
full_session_key = self.key_prefix + session.sid
@@ -338,6 +342,8 @@ def open_session(self, app, request):
338342
return self.session_class(sid=sid, permanent=self.permanent)
339343

340344
def save_session(self, app, session, response):
345+
if not self.should_set_cookie(app, session):
346+
return
341347
domain = self.get_cookie_domain(app)
342348
path = self.get_cookie_path(app)
343349
if not session:
@@ -422,6 +428,8 @@ def open_session(self, app, request):
422428
return self.session_class(sid=sid, permanent=self.permanent)
423429

424430
def save_session(self, app, session, response):
431+
if not self.should_set_cookie(app, session):
432+
return
425433
domain = self.get_cookie_domain(app)
426434
path = self.get_cookie_path(app)
427435
store_id = self.key_prefix + session.sid

0 commit comments

Comments
 (0)