Пример #1
0
 def dispatch(self):
     csrf = None
     csrf_cookie_value = self.request.cookies.get(
         webclient_settings.COOKIE_CSRF_KEY)
     if self.autoload_current_user:
         from app.models.auth import User
         User.set_current_user_from_auth_code(
             self.request.cookies.get(webclient_settings.COOKIE_USER_KEY))
         current_user = User.current_user()
         current_user.set_taskqueue(
             self.request.headers.get('X-AppEngine-QueueName', None) != None
         )  # https://developers.google.com/appengine/docs/python/taskqueue/overview-push#Python_Task_request_headers
         current_user.set_cron(
             self.request.headers.get('X-Appengine-Cron', None) != None
         )  # https://developers.google.com/appengine/docs/python/config/cron#Python_app_yaml_Securing_URLs_for_cron
         csrf = current_user._csrf
     if not csrf_cookie_value:
         if csrf == None:
             csrf = util.random_chars(32)
         self.response.set_cookie(webclient_settings.COOKIE_CSRF_KEY, csrf)
     try:
         self.before()
         super(Base, self).dispatch()
         self.after()
     finally:
         # support our memcache wrapper lib temporary variables, and release them upon request complete
         mem._local.__release_local__()
Пример #2
0
 def before(self):
     from app.models.auth import User
     self.template['current_user'] = User.current_user()