예제 #1
0
# coding: utf-8
import os
import urllib

import tornado.web
from mongoengine import DoesNotExist

from apps.accounts.models import User
import connect_redis

redis_connection = connect_redis.connect_to_redis()


class BaseHandler(tornado.web.RequestHandler):
    def check_permission(self, action):
        user = self.get_current_user()
        admin = self.is_admin_user()
        if action in self.perm_public or (user and action in self.perm_user) or (admin and action in self.perm_admin):
            pass # ok
        else:
            self.raise403()

    def raise400(self, msg=None):
        raise tornado.web.HTTPError(400, msg or 'Invalid request')

    def raise401(self, msg=None):
        raise tornado.web.HTTPError(401, msg or 'Not enough permissions to perform this action')

    def raise403(self, msg=None):
        raise tornado.web.HTTPError(403, msg or 'Not enough permissions to perform this action')
예제 #2
0
def listen_queue(queues=['default']):
    redis_connection = connect_redis.connect_to_redis()
    with Connection(redis_connection):
        worker = Worker(map(Queue, queues))
        worker.push_exc_handler(task_timeout_handler)
        worker.work()
예제 #3
0
# coding: utf-8
import os
import urllib

import tornado.web
from mongoengine import DoesNotExist

from apps.accounts.models import User
import connect_redis

redis_connection = connect_redis.connect_to_redis()


class BaseHandler(tornado.web.RequestHandler):
    def prepare(self):
        self.clear_header('Server')
        self.set_header('X-FRAME-OPTIONS', 'Deny')
        self.set_header('X-XSS-Protection', '1; mode=block')
        self.set_header('X-Content-Type-Options', 'nosniff')
        self.set_header('Strict-Transport-Security', 'max-age=31536000; includeSubdomains')

    def check_permission(self, action):
        user = self.get_current_user()
        admin = self.is_admin_user()
        if action in self.perm_public or (user and action in self.perm_user) or (admin and action in self.perm_admin):
            pass # ok
        else:
            self.raise403()

    def raise400(self, msg=None):
        raise tornado.web.HTTPError(400, msg or 'Invalid request')
def listen_queue(queues=['default']):
    redis_connection = connect_redis.connect_to_redis()
    with Connection(redis_connection):
        worker = Worker(map(Queue, queues))
        worker.push_exc_handler(task_timeout_handler)
        worker.work()