summaryrefslogtreecommitdiff
path: root/django/utils/httpwrappers.py
diff options
context:
space:
mode:
authorAdrian Holovaty <adrian@holovaty.com>2005-07-18 06:05:18 +0000
committerAdrian Holovaty <adrian@holovaty.com>2005-07-18 06:05:18 +0000
commitfeeeda969c68757a26e769e7c6bbd2c7e5d58f8b (patch)
treedd5f9ae9d0ac9ab7610d07d44bdd5b34c806726d /django/utils/httpwrappers.py
parent246c1f88d9d2634267b28e9de3fd05d1ddcbfa26 (diff)
Rolled django.core.extensions.DjangoRequest into django.utils.httpwrappers.ModPythonRequest, in preparation for WSGI support
git-svn-id: http://code.djangoproject.com/svn/django/trunk@167 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/utils/httpwrappers.py')
-rw-r--r--django/utils/httpwrappers.py36
1 files changed, 33 insertions, 3 deletions
diff --git a/django/utils/httpwrappers.py b/django/utils/httpwrappers.py
index 764b29ec1c..c0a62c4f7b 100644
--- a/django/utils/httpwrappers.py
+++ b/django/utils/httpwrappers.py
@@ -30,9 +30,9 @@ class ModPythonRequest(HttpRequest):
self.path = req.uri
def __repr__(self):
- return '<ModPythonRequest\nGET:%s,\nPOST:%s,\nCOOKIES:%s,\nMETA:%s>' % \
- (pformat(self.GET), pformat(self.POST), pformat(self.COOKIES),
- pformat(self.META))
+ return '<ModPythonRequest\npath:%s,\nGET:%s,\nPOST:%s,\nCOOKIES:%s,\nMETA:%s,\nuser:%s>' % \
+ (self.path, pformat(self.GET), pformat(self.POST), pformat(self.COOKIES),
+ pformat(self.META), pformat(self.user))
def get_full_path(self):
return '%s%s' % (self.path, self._req.args and ('?' + self._req.args) or '')
@@ -105,12 +105,42 @@ class ModPythonRequest(HttpRequest):
self._meta[key] = value
return self._meta
+ def _load_session_and_user(self):
+ from django.models.auth import sessions
+ from django.conf.settings import AUTH_SESSION_COOKIE
+ session_cookie = self.COOKIES.get(AUTH_SESSION_COOKIE, '')
+ try:
+ self._session = sessions.get_session_from_cookie(session_cookie)
+ self._user = self._session.get_user()
+ except sessions.SessionDoesNotExist:
+ from django.parts.auth import anonymoususers
+ self._session = None
+ self._user = anonymoususers.AnonymousUser()
+
+ def _get_session(self):
+ if not hasattr(self, '_session'):
+ self._load_session_and_user()
+ return self._session
+
+ def _set_session(self, session):
+ self._session = session
+
+ def _get_user(self):
+ if not hasattr(self, '_user'):
+ self._load_session_and_user()
+ return self._user
+
+ def _set_user(self, user):
+ self._user = user
+
GET = property(_get_get, _set_get)
POST = property(_get_post, _set_post)
COOKIES = property(_get_cookies, _set_cookies)
FILES = property(_get_files)
META = property(_get_meta)
REQUEST = property(_get_request)
+ session = property(_get_session, _set_session)
+ user = property(_get_user, _set_user)
def parse_file_upload(header_dict, post_data):
"Returns a tuple of (POST MultiValueDict, FILES MultiValueDict)"