From 3e4d3034b688a58315d5d19a369d3805781bc914 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Espino?= Date: Fri, 10 May 2013 10:57:35 +0200 Subject: [PATCH] Now greenmine session middleware is based on SessionMiddleware --- greenmine/base/middleware.py | 40 +++--------------------------------- 1 file changed, 3 insertions(+), 37 deletions(-) diff --git a/greenmine/base/middleware.py b/greenmine/base/middleware.py index 26413c37..7fb410ed 100644 --- a/greenmine/base/middleware.py +++ b/greenmine/base/middleware.py @@ -6,8 +6,10 @@ from django.utils.cache import patch_vary_headers from django.utils.http import cookie_date from django.utils.importlib import import_module +from django.contrib.sessions.middleware import SessionMiddleware -class GreenmineSessionMiddleware(object): + +class GreenmineSessionMiddleware(SessionMiddleware): def process_request(self, request): engine = import_module(settings.SESSION_ENGINE) session_key = request.META.get(settings.SESSION_HEADER_NAME, None) @@ -15,42 +17,6 @@ class GreenmineSessionMiddleware(object): session_key = request.COOKIES.get(settings.SESSION_COOKIE_NAME, None) request.session = engine.SessionStore(session_key) - def process_response(self, request, response): - """ - If request.session was modified, or if the configuration is to save the - session every time, save the changes and set a session cookie. - """ - try: - accessed = request.session.accessed - modified = request.session.modified - except AttributeError: - pass - else: - if accessed: - patch_vary_headers(response, ('Cookie',)) - if modified or settings.SESSION_SAVE_EVERY_REQUEST: - if request.session.get_expire_at_browser_close(): - max_age = None - expires = None - else: - max_age = request.session.get_expiry_age() - expires_time = time.time() + max_age - expires = cookie_date(expires_time) - # Save the session data and refresh the client cookie. - # Skip session save for 500 responses, refs #3881. - if response.status_code != 500: - request.session.save() - response.set_cookie(settings.SESSION_COOKIE_NAME, - request.session.session_key, - max_age=max_age, - expires=expires, - domain=settings.SESSION_COOKIE_DOMAIN, - path=settings.SESSION_COOKIE_PATH, - secure=settings.SESSION_COOKIE_SECURE or None, - httponly=settings.SESSION_COOKIE_HTTPONLY or None) - return response - - COORS_ALLOWED_ORIGINS = getattr(settings, 'COORS_ALLOWED_ORIGINS', '*') COORS_ALLOWED_METHODS = getattr(settings, 'COORS_ALLOWED_METHODS',