From ec5d5d02798ee43aa0af1a26a170deaeb722e34f Mon Sep 17 00:00:00 2001 From: UltraQbik Date: Fri, 23 Aug 2024 02:21:41 +0300 Subject: Add status codes --- src/status_code.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/status_code.py (limited to 'src/status_code.py') diff --git a/src/status_code.py b/src/status_code.py new file mode 100644 index 0000000..e4b826b --- /dev/null +++ b/src/status_code.py @@ -0,0 +1,23 @@ +class StatusCode: + """ + HTML status code + """ + + def __init__(self, code: int, message: str): + self.code: int = code + self.message: str = message + + def __bytes__(self): + return f"{self.code} {self.message}".encode("ascii") + + +# Status codes! +STATUS_CODE_OK = StatusCode(200, "OK") +STATUS_CODE_BAD_REQUEST = StatusCode(400, "Bad Request") +STATUS_CODE_UNAUTHORIZED = StatusCode(401, "Unauthorized") +STATUS_CODE_FORBIDDEN = StatusCode(403, "Forbidden") +STATUS_CODE_NOT_FOUND = StatusCode(404, "Not Found") +STATUS_CODE_PAYLOAD_TOO_LARGE = StatusCode(413, "Payload Too Large") +STATUS_CODE_URI_TOO_LONG = StatusCode(414, "URI Too Long") +STATUS_CODE_IM_A_TEAPOT = StatusCode(418, "I'm a teapot") # I followed mozilla's dev page, it was there +STATUS_CODE_FUNNY_NUMBER = StatusCode(6969, "UwU") -- cgit 1.4.1 From c6a546b8677c512dc9ec4f48cea1d05dca266427 Mon Sep 17 00:00:00 2001 From: UltraQbik Date: Fri, 23 Aug 2024 17:42:42 +0300 Subject: Make restricted members Make status codes immutable (I think that's how you do it?) --- src/status_code.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'src/status_code.py') diff --git a/src/status_code.py b/src/status_code.py index e4b826b..8fd165a 100644 --- a/src/status_code.py +++ b/src/status_code.py @@ -4,11 +4,19 @@ class StatusCode: """ def __init__(self, code: int, message: str): - self.code: int = code - self.message: str = message + self._code: int = code + self._message: str = message def __bytes__(self): - return f"{self.code} {self.message}".encode("ascii") + return f"{self._code} {self._message}".encode("ascii") + + @property + def code(self): + return self._code + + @property + def message(self): + return self._message # Status codes! -- cgit 1.4.1 From 9a3c6ea6802f26a479bb91cc6a9ded9d7cb193c7 Mon Sep 17 00:00:00 2001 From: UltraQbik Date: Fri, 23 Aug 2024 20:36:49 +0300 Subject: Add thing to status code --- src/status_code.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/status_code.py') diff --git a/src/status_code.py b/src/status_code.py index 8fd165a..a63712c 100644 --- a/src/status_code.py +++ b/src/status_code.py @@ -10,6 +10,9 @@ class StatusCode: def __bytes__(self): return f"{self._code} {self._message}".encode("ascii") + def __str__(self): + return f"{self._code} {self._message}" + @property def code(self): return self._code -- cgit 1.4.1