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))