codekingpro/portable-devtools
114k
1NOERROR = 02FORMERR = 13SERVFAIL = 24NXDOMAIN = 35NOTIMP = 46REFUSED = 57YXDOMAIN = 68YXRRSET = 79NXRRSET = 810NOTAUTH = 911NOTZONE = 1012DSOTYPENI = 1113 14_CODES = {15 NOERROR: 200,16 FORMERR: 400,17 SERVFAIL: 500,18 NXDOMAIN: 404,19 NOTIMP: 501,20 REFUSED: 403,21 YXDOMAIN: 409,22 YXRRSET: 409,23 NXRRSET: 410,24 NOTAUTH: 401,25 NOTZONE: 404,26 DSOTYPENI: 501,27}28 29_STRINGS = {30 NOERROR: "NOERROR",31 FORMERR: "FORMERR",32 SERVFAIL: "SERVFAIL",33 NXDOMAIN: "NXDOMAIN",34 NOTIMP: "NOTIMP",35 REFUSED: "REFUSED",36 YXDOMAIN: "YXDOMAIN",37 YXRRSET: "YXRRSET",38 NXRRSET: "NXRRSET",39 NOTAUTH: "NOTAUTH",40 NOTZONE: "NOTZONE",41 DSOTYPENI: "DSOTYPENI",42}43_INTS = {v: k for k, v in _STRINGS.items()}44 45 46def http_equiv_status_code(response_code: int) -> int:47 return _CODES.get(response_code, 500)48 49 50def to_str(response_code: int) -> str:51 return _STRINGS.get(response_code, f"RCODE({response_code})")52 53 54def from_str(response_code: str) -> int:55 try:56 return _INTS[response_code]57 except KeyError:58 return int(response_code.removeprefix("RCODE(").removesuffix(")"))59 