feat: page specific host

This commit is contained in:
2026-04-12 00:09:07 +02:00
parent db3fb12c6f
commit e7fc808212
5 changed files with 96 additions and 9 deletions
+10 -4
View File
@@ -1,19 +1,25 @@
import http.server
from . import params, handler
from . import params, handler, registry
class StaplerServer:
def __init__(self, params: params.Parameters):
self.default_host = params.host
self.registry = registry.Registry(params)
self.params = params
self.server = http.server.ThreadingHTTPServer(
(params.bind, params.port),
lambda req, client, server: handler.StaplerRequestHandler(
req, client, server, params=params
),
self.request_handler,
)
def request_handler(self, *args) -> http.server.BaseHTTPRequestHandler:
return handler.StaplerRequestHandler(
*args, params=self.params, registry=self.registry
)
def start(self):
self.registry.load_pages()
print(
f"{handler.StaplerRequestHandler.server_version} serving on http://{self.default_host}:{self.server.server_port}..."
)