Exemple #1
0
class BaseHandler(RequestHandler):

    def __init__(self, application, request, **kwargs):
        super().__init__(application, request, **kwargs)
        self.exception = Response(system_config.response_def_map)
        self.executor = ThreadPoolExecutor(workers)
        self.image_utils = ImageUtils(system_config)

    def data_received(self, chunk):
        pass

    def parse_param(self):
        try:
            data = json_decode(self.request.body)
        except JSONDecodeError:
            data = self.request.body_arguments
        except UnicodeDecodeError:
            raise tornado.web.HTTPError(401)
        if not data:
            raise tornado.web.HTTPError(400)
        return data

    def write_error(self, code, **kw):
        system = {
            500: dict(StatusCode=code, Message="Internal Server Error", StatusBool=False),
            400: dict(StatusCode=code, Message="Bad Request", StatusBool=False),
            404: dict(StatusCode=code, Message="404 Not Found", StatusBool=False),
            403: dict(StatusCode=code, Message="Forbidden", StatusBool=False),
            405: dict(StatusCode=code, Message="Method Not Allowed", StatusBool=False),
        }
        if code in system.keys():
            code_dict = Response.parse(system.get(code), system_config.response_def_map)
        else:
            code_dict = self.exception.find(code)
        return self.finish(json_encode(code_dict))
class BaseHandler(RequestHandler):
    def __init__(self, application, request, **kwargs):
        super().__init__(application, request, **kwargs)
        self.exception = Response()
        self.executor = ThreadPoolExecutor(workers)

    def data_received(self, chunk):
        pass

    def parse_param(self):
        try:
            data = json_decode(self.request.body)
        except JSONDecodeError:
            data = self.request.body_arguments
        except UnicodeDecodeError:
            raise tornado.web.HTTPError(401)
        if not data:
            raise tornado.web.HTTPError(400)
        return data

    def write_error(self, code, **kw):
        system = {
            500:
            json_encode(
                dict(code=code, message="Internal Server Error",
                     success=False)),
            400:
            json_encode(dict(code=code, message="Bad Request", success=False)),
            404:
            json_encode(dict(code=code, message="404 Not Found",
                             success=False)),
            403:
            json_encode(dict(code=code, message="Forbidden", success=False)),
            405:
            json_encode(
                dict(code=code, message="Method Not Allowed", success=False)),
        }
        return self.finish(
            system.get(code) if code in
            system.keys() else json_encode(self.exception.find(code)))
class BaseHandler(RequestHandler):
    def __init__(self, application, request, **kwargs):
        super().__init__(application, request, **kwargs)
        self.exception = Response(system_config.response_def_map)
        self.executor = ThreadPoolExecutor(workers)
        self.image_utils = ImageUtils(system_config)

    @property
    def request_incr(self):
        if self.request.remote_ip not in tornado.options.options.request_count:
            tornado.options.options.request_count[self.request.remote_ip] = 1
        else:
            tornado.options.options.request_count[self.request.remote_ip] += 1
        return tornado.options.options.request_count[self.request.remote_ip]

    def request_desc(self):
        if self.request.remote_ip not in tornado.options.options.request_count:
            return
        else:
            tornado.options.options.request_count[self.request.remote_ip] -= 1

    @property
    def global_request_incr(self):
        tornado.options.options.global_request_count += 1
        return tornado.options.options.global_request_count

    @staticmethod
    def global_request_desc():
        tornado.options.options.global_request_count -= 1

    @staticmethod
    def risk_ip_count(ip):
        if ip not in tornado.options.options.ip_risk_times:
            tornado.options.options.ip_risk_times[ip] = 1
        else:
            tornado.options.options.ip_risk_times[ip] += 1

    @staticmethod
    def risk_ip(ip):
        return tornado.options.options.ip_risk_times[ip]

    def data_received(self, chunk):
        pass

    def parse_param(self):
        try:
            data = json_decode(self.request.body)
        except JSONDecodeError:
            data = self.request.body_arguments
        except UnicodeDecodeError:
            raise tornado.web.HTTPError(401)
        if not data:
            raise tornado.web.HTTPError(400)
        return data

    def write_error(self, code, **kw):
        err_resp = dict(StatusCode=code,
                        Message=system_config.error_message[code],
                        StatusBool=False)
        if code in system_config.error_message:
            code_dict = Response.parse(err_resp,
                                       system_config.response_def_map)
        else:
            code_dict = self.exception.find(code)
        return self.finish(json.dumps(code_dict, ensure_ascii=False))