Beispiel #1
0
def abort(code):
    if code == 400: return web.HTTPBadRequest()
    elif code == 401: return web.HTTPUnauthorized()
    elif code == 402: return web.HTTPPaymentRequired()
    elif code == 403: return web.HTTPForbidden()
    elif code == 404: return web.HTTPNotFound()
    elif code == 405: return web.HTTPMethodNotAllowed()
    elif code == 406: return web.HTTPNotAcceptable()
    elif code == 407: return web.HTTPProxyAuthenticationRequired()
    elif code == 408: return web.HTTPRequestTimeout()
    elif code == 409: return web.HTTPConflict()
    elif code == 410: return web.HTTPGone()
    elif code == 411: return web.HTTPLengthRequired()
    elif code == 412: return web.HTTPPreconditionFailed()
    elif code == 413: return web.HTTPRequestEntityTooLarge()
    elif code == 414: return web.HTTPRequestURITooLong()
    elif code == 415: return web.HTTPUnsupportedMediaType()
    elif code == 416: return web.HTTPRequestRangeNotSatisfiable()
    elif code == 417: return web.HTTPExpectationFailed()
    elif code == 421: return web.HTTPMisdirectedRequest()
    elif code == 422: return web.HTTPUnprocessableEntity()
    elif code == 424: return web.HTTPFailedDependency()
    elif code == 426: return web.HTTPUpgradeRequired()
    elif code == 428: return web.HTTPPreconditionRequired()
    elif code == 429: return web.HTTPTooManyRequests()
    elif code == 431: return web.HTTPRequestHeaderFieldsTooLarge()
    elif code == 451: return web.HTTPUnavailableForLegalReasons()
    else: return web.HTTPBadRequest()
Beispiel #2
0
async def handle_sysboard_action(req: web.Request) -> web.Response:
    body = await req.post()
    backend = req.app['backend']

    if True in (backend.maintenance_mode, backend.notify_maintenance):
        return web.HTTPMisdirectedRequest()

    if not _validate_session(req):
        return web.HTTPUnauthorized()

    system_msg = (None if body.get('sysmsg') is None else body.get('sysmsg'))

    if req.headers.get('X-Maintenance-Minutes') is not None:
        if system_msg is not None:
            return web.HTTPInternalServerError()

        try:
            mt_mins = int(req.headers.get('X-Maintenance-Minutes'))
        except ValueError:
            return web.HTTPInternalServerError()

        backend.push_system_message(1, mt_mins)
    elif system_msg is not None:
        backend.push_system_message(1, -1, message=system_msg)
    else:
        return web.HTTPInternalServerError()

    return web.HTTPOk()
Beispiel #3
0
 def get_slot_obj(self, slot):
     if not slot:
         error = {
             "error": {
                 "description": "no slot specified",
                 "reason": "notspecifiec",
                 "type": "slot",
             }
         }
         raise web.HTTPMisdirectedRequest(text=json.dumps(error))
     try:
         slot_class = self.slots[slot]
     except KeyError:
         error = {
             "error": {
                 "description": "no such slot",
                 "slot": slot,
                 "reason": "nosuch",
                 "type": "slot",
             }
         }
         raise web.HTTPMisdirectedRequest(text=json.dumps(error))
     return slot_class
Beispiel #4
0
 def get_drive_obj(self, drive):
     if not drive:
         error = {
             "error": {
                 "description": "no drive specified",
                 "reason": "notspecified",
                 "type": "drive",
             }
         }
         raise web.HTTPMisdirectedRequest(text=json.dumps(error))
     try:
         drive_class = self.drives[drive]
     except KeyError:
         error = {
             "error": {
                 "description": "no such drive",
                 "drive": drive,
                 "reason": "nosuch",
                 "type": "drive",
             }
         }
         raise web.HTTPMisdirectedRequest(text=json.dumps(error))
     return drive_class