import simplejson as json import traceback from datetime import date from concurrent.futures import ThreadPoolExecutor from tornado.web import RequestHandler from model.log import logger from model.common import errors log = logger() class BaseHandler(RequestHandler): def __init__(self, application, request, **kwargs): RequestHandler.__init__(self, application, request, **kwargs) self._status_code = 200 self.executor = ThreadPoolExecutor(200) self.settings['allow_remote_access']=True self.set_header('Content-Type', 'application/json') self.set_header("Access-Control-Allow-Methods", "GET,PUT,POST,DELETE,OPTIONS") self.set_header("Access-Control-Allow-Headers", "Content-Type, Depth, User-Agent, Token, Origin, X-Requested-With, Accept, Authorization, admin_id") self.set_header('Access-Control-Allow-Origin', "*") def write_json(self, data, status_code=200, msg='success'): self.write(json.dumps({'status': {'msg': msg, "RetCode": status_code}, 'data': data})) def get_args(self): di=json.loads(self.request.body.decode()) if isinstance(di,str): di=json.loads(di) return di def write_error(self, status_code, msg=None, **kwargs): if self.settings.get("serve_traceback") and "exc_info" in kwargs: # in debug mode, try to send a traceback lines = [] for line in traceback.format_exception(*kwargs["exc_info"]): lines.append(line) self.write_json(dict(traceback=''.join(lines)), status_code, self._reason) elif msg: self.write_json(None, status_code, msg) else: self.write_json(None, status_code, self._reason) def _authentication(self): """ :return: True, 认证通过, False 认证不通过 """ return True log.info("author %s" % self.request.headers) # log.info(self.request.remote_ip) if self.request.headers.get("Gip_real") == '183.129.168.74': return True if not self.request.headers.get("Authorization"): return False else: # redis 中判断值是否存在 # ur = UserRedisComm() # key = "admin_account_check%s" % (self.request.headers.get("Authorization")) # return True if ur.r.get(key) else False return True