diff options
| -rw-r--r-- | src/request.py | 35 |
1 files changed, 1 insertions, 34 deletions
diff --git a/src/request.py b/src/request.py index b0fb13f..889b894 100644 --- a/src/request.py +++ b/src/request.py @@ -71,37 +71,4 @@ class Response: def __init__(self, data: bytes, status: StatusCode, headers: dict[str, Any] = None): self.data: bytes = data self.status: StatusCode = status - self.headers: dict[str, Any] = headers if headers is not None else dict() - - -def send_response(sock: SSLSocket, data: bytes, status: StatusCode, headers: dict[str, Any] = None): - """ - Sends response to client. - Probably ran inside a daemonic thread - :param sock: client's socket - :param data: raw data to send - :param status: status code - :param headers: headers to include - """ - - # process header data - if headers is None: - headers = dict() - if headers.get("Content-Encoding") is not None: - if headers["Content-Encoding"] == "br": - data = brotli.compress(data) - elif headers["Content-Encoding"] == "gzip": - data = gzip.compress(data) - if headers.get("Content-Length") is None: - headers["Content-Length"] = len(data) - if headers.get("Connection") is None: - headers["Connection"] = "close" - - # generate basic message - message = b'HTTP/1.1 ' + status.__bytes__() + b'\r\n' - for key, value in headers.items(): - message += f"{key}: {value}\r\n".encode("ascii") - message += b'\r\n' + data - - # send message - sock.sendall(message) + self.headers: dict[str, Any] = headers if headers is not None else dict() \ No newline at end of file |