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()
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()
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
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