From c9282b93f4bee4d13603dd7dab4c904c648ea53f Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Mon, 6 Mar 2023 15:49:51 +0200 Subject: [PATCH] Fix serving static files. Fixes #206 --- maubot/server.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/maubot/server.py b/maubot/server.py index ac3132d..a8e72cf 100644 --- a/maubot/server.py +++ b/maubot/server.py @@ -127,6 +127,13 @@ class MaubotServer: ) self.app.router.add_get(ui_base, ui_base_redirect) + @staticmethod + def _static_data(data: bytes, mime: str) -> Callable[[web.Request], web.Response]: + def fn(_: web.Request) -> web.Response: + return web.Response(body=data, content_type=mime) + + return fn + def setup_static_root_files(self, directory: str, ui_base: str) -> None: files = { "asset-manifest.json": "application/json", @@ -136,9 +143,7 @@ class MaubotServer: for file, mime in files.items(): with open(f"{directory}/{file}", "rb") as stream: data = stream.read() - self.app.router.add_get( - f"{ui_base}/{file}", lambda _: web.Response(body=data, content_type=mime) - ) + self.app.router.add_get(f"{ui_base}/{file}", self._static_data(data, mime)) public_url = self.config["server.public_url"] public_url_path = ""