Example #1
0
    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()
Example #2
0
 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()
Example #3
0
 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()
Example #4
0
 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()
Example #5
0
    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)
Example #6
0
 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()