Source code for lib.http

from http import HTTPStatus as HTTP_Status

from utils.log import Log


[docs]class HTTPMethod(object): """Constants representing various HTTP request methods.""" GET = "get" PUT = "put" POST = "post" DELETE = "delete"
code_priority_order = cpo = { HTTP_Status.OK: 1, HTTP_Status.CREATED: 2, HTTP_Status.RESET_CONTENT: 2, HTTP_Status.NOT_MODIFIED: 0, HTTP_Status.NOT_FOUND: 3, HTTP_Status.NO_CONTENT: 4, HTTP_Status.CONFLICT: 4, HTTP_Status.NOT_ACCEPTABLE: 4, HTTP_Status.UNPROCESSABLE_ENTITY: 4, } def __lt(code_a, code_b): prior_a = __get(code_a) prior_b = __get(code_b) return prior_a is not None and prior_b is not None and prior_a < prior_b def __lte(code_a, code_b): prior_a = __get(code_a) prior_b = __get(code_b) return prior_a is not None and prior_b is not None and prior_a <= prior_b def __gt(code_a, code_b): prior_a = __get(code_a) prior_b = __get(code_b) return prior_a is not None and prior_b is not None and prior_a > prior_b def __gte(code_a, code_b): prior_a = __get(code_a) prior_b = __get(code_b) return prior_a is not None and prior_b is not None and prior_a >= prior_b def __eq(code_a, code_b): prior_a = __get(code_a) prior_b = __get(code_b) return prior_a is not None and prior_b is not None and prior_a == prior_b def __get(code): prior_order = cpo.get(code, None) if prior_order is None: Log.get("http-lib").warn(f"{code} without priority order.") return prior_order HTTP_Status.lt = __lt HTTP_Status.lte = __lte HTTP_Status.gt = __gt HTTP_Status.gte = __gte HTTP_Status.eq = __eq