~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to ivle/dispatch/request.py

  • Committer: Matt Giuca
  • Date: 2010-02-25 09:34:17 UTC
  • Revision ID: matt.giuca@gmail.com-20100225093417-02z6stnx9biqpbol
Exercise display: Shows a warning if the worksheet cutoff has passed for this subject, that it will not count towards your marks.

Show diffs side-by-side

added added

removed removed

Lines of Context:
29
29
    import mod_python.Session
30
30
    import mod_python.Cookie
31
31
    import mod_python.util
32
 
    import mod_python.apache
33
 
 
34
 
    class PotentiallySecureFileSession(mod_python.Session.FileSession):
35
 
        """A mod_python FileSession that sets secure cookie when appropriate.
36
 
 
37
 
        A secure cookie will be set if the request itself is over HTTPS, or if
38
 
        a proxy in front has set X-Forwarded-Proto: https. Otherwise the cookie
39
 
        will be insecure.
40
 
        """
41
 
        def make_cookie(self):
42
 
            cookie = super(PotentiallySecureFileSession, self).make_cookie()
43
 
            if (self._req.is_https() or
44
 
                self._req.headers_in.get('X-Forwarded-Proto') == 'https'):
45
 
                cookie.secure = True
46
 
            return cookie
47
32
except ImportError:
48
33
    # This needs to be importable from outside Apache.
49
34
    pass
55
40
from ivle.webapp.base.plugins import CookiePlugin
56
41
import ivle.webapp.security
57
42
 
58
 
 
59
43
class Request:
60
44
    """An IVLE request object. This is presented to the IVLE apps as a way of
61
45
    interacting with the web server and the dispatcher.
271
255
        """
272
256
        # Cache the session object and set the timeout to 24 hours.
273
257
        if not hasattr(self, 'session'):
274
 
            self.session = PotentiallySecureFileSession(
275
 
                self.apache_req, timeout = 60 * 60 * 24)
 
258
            self.session = mod_python.Session.FileSession(self.apache_req,
 
259
                                               timeout = 60 * 60 * 24)
276
260
        return self.session
277
261
 
278
262
    def get_fieldstorage(self):