fully typed project
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user