else: result, message = control.add_predefine_header(self.g.user_name, api_no, param, param_type, self.g.user_role) return self.jsonify({"status": result, "data": message}) @referer_api_no def delete(self): request_data = self.request.json api_no = self.g.api_no if "api_no" in request_data and "param" in request_data: result, data = control.delete_body(self.g.user_role, api_no, request_data["param"]) return self.jsonify({"status": result, "data": data}) return self.jsonify({"status": False, "data": "need api_no and param"}) class APICareHandler(_BaseHandler): route_url = _BaseHandler.route_url + "/care/" def post(self): request_data = self.request.json api_no = request_data["api_no"] if self.request.method == "POST": result, care_info = control.add_care(api_no, self.g.user_name, self.g.user_role) else: result, care_info = control.delete_care(api_no, self.g.user_name) return self.jsonify({"status": result, "data": care_info}) delete = post http_handlers.extend([APIIndexHandler, APIInfoHandler, APIModuleHandler, APIModuleCareHandler, APIBasicHandler]) http_handlers.extend([APIStageHandler, APIHeaderHandler, APIBodyHandler, APICareHandler])
route_url = dms_url_prefix + "/login/" def get(self): self.logout_user() self.kwargs["next_url"] = self.request.args["next"] if "next" in self.request.args else "" self.render_template("login.html") def post(self): request_data = self.request.form user_name = request_data["user_name"] password = request_data["password"] result, info = user_m.check(user_name, password) if result is False: return self.write(info) self.login_user(info["account"], info["role"]) if "next" in request_data and request_data["next"] != "": return self.redirect(request_data["next"]) return self.redirect(url_prefix + "/portal/") class PortalHandler(BaseAuthHandler): route_url = dms_url_prefix + "/portal/" def get(self): self.render_template("portal.html", api_url_prefix=api_url_prefix, dev_url_prefix=dev_url_prefix, bug_url_prefix=bug_url_prefix, dms_url_prefix=dms_url_prefix, right_url_prefix=right_url_prefix, log_url_prefix=log_url_prefix, param_url_prefix=param_url_prefix, release_url_prefix=release_url_prefix, status_url_prefix=status_url_prefix) http_handlers.extend([IndexHandler, LoginHandler, PortalHandler])
class SocketHandler(tornado.websocket.WebSocketHandler): route_url = "/chat/msg/" def check_origin(self, origin): return True @staticmethod def send_to_all(message): for key in clients.keys(): clients[key]["c"].write_message(message) def open(self): self.write_message({"msg_type": "sys", "msg": "Connect Success", "sender": "system"}) def on_message(self, message): msg_info = json.loads(message) if msg_info["msg_type"] == "login": clients[str(id(self))] = {"c": self, "user_name": msg_info["data"]} self.write_message({"msg_type": "sys", "msg": msg_info["data"] + " Login Success", "sender": "system"}) elif str(id(self)) in clients: send_msg = {"msg_type": "msg", "msg": msg_info["data"], "sender": clients[str(id(self))]["user_name"]} SocketHandler.send_to_all(send_msg) else: return def on_close(self): del clients[str(id(self))] http_handlers.extend([SocketHandler])