feat: page specific host
This commit is contained in:
+10
-4
@@ -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}..."
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user