fully typed project

This commit is contained in:
2026-01-23 15:08:27 +01:00
parent 00ab59f0e4
commit c17af00c10
7 changed files with 26 additions and 24 deletions

View File

@@ -1,16 +1,17 @@
from http.server import BaseHTTPRequestHandler
import urllib.parse as urllib
from typing import Callable
import logger
def generate_class(response_callback):
def generate_class(response_callback: Callable[[str, str], str | None]) -> type[BaseHTTPRequestHandler]:
class Handler(BaseHTTPRequestHandler):
def _send_error(self, code: int, message: str):
def _send_error(self, code: int, message: str) -> None:
self.send_response(code)
self.send_header("Content-Type", "text/plain")
self.end_headers()
self.wfile.write(message.encode("utf-8"))
def _handle_request(self):
def _handle_request(self) -> None:
host = self.client_address[0]
method = self.command
url = urllib.urlparse(self.path)
@@ -39,25 +40,25 @@ def generate_class(response_callback):
self.end_headers()
self.wfile.write(response.encode("utf-8"))
def do_GET(self):
def do_GET(self) -> None:
self._handle_request()
def do_POST(self):
def do_POST(self) -> None:
self._handle_request()
def do_PUT(self):
def do_PUT(self) -> None:
self._handle_request()
def do_DELETE(self):
def do_DELETE(self) -> None:
self._handle_request()
def do_PATCH(self):
def do_PATCH(self) -> None:
self._handle_request()
def do_OPTIONS(self):
def do_OPTIONS(self) -> None:
self._handle_request()
def log_message(self, format, *args):
def log_message(self, format: str, *args) -> None:
return
return Handler