def req_log(self, data): PERMITTED_LOGS = ['endaga', 'syslog'] required_fields = ["start", "end", "log_name"] if not all([_ in data for _ in required_fields]): return web.BadRequest() # By default there are no window start or end window_start = None window_end = None try: window_start = dateutil.parser.parse(data['start']) except ValueError: pass try: window_end = dateutil.parser.parse(data['end']) except ValueError: pass if data['log_name'] not in PERMITTED_LOGS: return web.BadRequest() logger.notice( "Log %s requested by dashboard from %s to %s" % (data['log_name'], window_start or '-', window_end or '-')) t = threading.Thread(target=self.log_worker, args=(data['msgid'], window_start, window_end, data['log_name'])) t.start() return web.Accepted()
def POST(self): data = web.input() needed_fields = ["from_name", "ip", "port", "ret_num"] if all(i in data for i in needed_fields): from_name = str(data.from_name) ip = str(data.ip) port = str(data.port) ret_num = str(data.ret_num) params = { "from_name": from_name, "ip": ip, "port": port, "ret_num": ret_num } t = threading.Thread(target=self.worker, kwargs=params) t.start() raise web.Accepted() else: raise web.NotFound()
def POST(self): """Handles POST requests.""" data = web.input() needed_fields = [ "to", "from_number", "from_name", "body", "service_type" ] if all(i in data for i in needed_fields): params = { "to": str(data.to), "from_num": str(data.from_number), "from_name": str(data.from_name), "body": str(data.body), "service_type": str(data.service_type) } t = threading.Thread(target=self.worker, kwargs=params) t.start() raise web.Accepted() else: raise web.NotFound()
def POST(self): data = web.input() needed_fields = [ "to", "from_number", "from_name", "body", "service_type" ] if all(i in data for i in needed_fields): to = str(data.to) from_number = str(data.from_number) from_name = str(data.from_name) body = str(data.body) service_type = str(data.service_type) t = threading.Thread(target=self.worker, kwargs={ "to": to, "from_num": from_number, "from_name": from_name, "body": body, "service_type": service_type }) t.start() raise web.Accepted() else: raise web.NotFound()
def generate_http_response(self, status_code, data=None, exc_cls=None, exc_msg=None): if status_code == HTTP_STATUS_CODE.OK: if data: raise web.OK(data=json.dumps(data), headers={}) else: raise web.OK() elif status_code == HTTP_STATUS_CODE.Created: raise web.Created() elif status_code == HTTP_STATUS_CODE.Accepted: raise web.Accepted() elif status_code == HTTP_STATUS_CODE.BadRequest: raise web.BadRequest( message=self.generate_message(exc_cls, exc_msg)) elif status_code == HTTP_STATUS_CODE.Unauthorized: raise web.Unauthorized( message=self.generate_message(exc_cls, exc_msg)) elif status_code == HTTP_STATUS_CODE.Forbidden: raise web.Forbidden( message=self.generate_message(exc_cls, exc_msg)) elif status_code == HTTP_STATUS_CODE.NotFound: raise web.NotFound(message=self.generate_message(exc_cls, exc_msg)) elif status_code == HTTP_STATUS_CODE.Conflict: raise web.Conflict(message=self.generate_message(exc_cls, exc_msg)) elif status_code == HTTP_STATUS_CODE.InternalError: raise web.InternalError( message=self.generate_message(exc_cls, exc_msg)) else: if data: raise web.HTTPError(status_code, data=json.dumps(data)) else: raise web.HTTPError(status_code)
def req_checkin(self): # Fire off a worker to send the checkin, then send back a 202. t = threading.Thread(target=self.checkin_worker) t.start() return web.Accepted()