From cded618892076ffc9caa3f583d155074d1db6119 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Schl=C3=BC=C3=9Fler?= Date: Mon, 19 Feb 2024 15:42:53 +0100 Subject: [PATCH 1/4] Optionally serve hooks via a UNIX domain socket. --- matrix_webhook/app.py | 9 ++++++++- matrix_webhook/conf.py | 7 +++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/matrix_webhook/app.py b/matrix_webhook/app.py index b56ad7d..de7e7ce 100644 --- a/matrix_webhook/app.py +++ b/matrix_webhook/app.py @@ -2,6 +2,7 @@ import asyncio import logging +import os from signal import SIGINT, SIGTERM from aiohttp import web @@ -27,9 +28,15 @@ async def main(event): runner = web.ServerRunner(server) await runner.setup() LOGGER.info(f"Binding on {conf.SERVER_ADDRESS=}") - site = web.TCPSite(runner, *conf.SERVER_ADDRESS) + if conf.SERVER_PATH: + site = web.UnixSite(runner, conf.SERVER_PATH) + else: + site = web.TCPSite(runner, *conf.SERVER_ADDRESS) await site.start() + if conf.SERVER_PATH: + os.chmod(conf.SERVER_PATH, 0o774) + # Run until we get a shutdown request await event.wait() diff --git a/matrix_webhook/conf.py b/matrix_webhook/conf.py index d3a436c..89aed46 100644 --- a/matrix_webhook/conf.py +++ b/matrix_webhook/conf.py @@ -9,6 +9,12 @@ parser.add_argument( default=os.environ.get("HOST", ""), help="host to listen to. Default: `''`. Environment variable: `HOST`", ) +parser.add_argument( + "-U", + "--path", + default=os.environ.get("PATH", ""), + help="unix path to listen to. Default: `''`. Environment variable: `PATH`", +) parser.add_argument( "-P", "--port", @@ -71,6 +77,7 @@ parser.add_argument( args = parser.parse_args() SERVER_ADDRESS = (args.host, args.port) +SERVER_PATH = args.path MATRIX_URL = args.matrix_url MATRIX_ID = args.matrix_id MATRIX_PW = args.matrix_pw From ac3e34e22a1a70f1e38a2ccf719b13c7a1402f7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Schl=C3=BC=C3=9Fler?= Date: Mon, 19 Feb 2024 23:08:02 +0100 Subject: [PATCH 2/4] FIX : more consistent naming for server socket path argument/environment variable FIX : ruff error about using Path.chmod instead of os.chmod --- matrix_webhook/app.py | 4 ++-- matrix_webhook/conf.py | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/matrix_webhook/app.py b/matrix_webhook/app.py index de7e7ce..f910f53 100644 --- a/matrix_webhook/app.py +++ b/matrix_webhook/app.py @@ -2,8 +2,8 @@ import asyncio import logging -import os from signal import SIGINT, SIGTERM +from pathlib import Path from aiohttp import web @@ -35,7 +35,7 @@ async def main(event): await site.start() if conf.SERVER_PATH: - os.chmod(conf.SERVER_PATH, 0o774) + Path.chmod(conf.SERVER_PATH, 0o664) # Run until we get a shutdown request await event.wait() diff --git a/matrix_webhook/conf.py b/matrix_webhook/conf.py index 89aed46..88c3d1a 100644 --- a/matrix_webhook/conf.py +++ b/matrix_webhook/conf.py @@ -10,10 +10,10 @@ parser.add_argument( help="host to listen to. Default: `''`. Environment variable: `HOST`", ) parser.add_argument( - "-U", - "--path", - default=os.environ.get("PATH", ""), - help="unix path to listen to. Default: `''`. Environment variable: `PATH`", + "-S", + "--server-path", + default=os.environ.get("SERVER_PATH", ""), + help="unix path to listen to. Default: `''`. Environment variable: `SERVER_PATH`", ) parser.add_argument( "-P", From a7841ed0886cbed2c9d7494b61569423efbde00e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 19 Feb 2024 22:10:13 +0000 Subject: [PATCH 3/4] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- matrix_webhook/app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/matrix_webhook/app.py b/matrix_webhook/app.py index f910f53..fb202ad 100644 --- a/matrix_webhook/app.py +++ b/matrix_webhook/app.py @@ -2,8 +2,8 @@ import asyncio import logging -from signal import SIGINT, SIGTERM from pathlib import Path +from signal import SIGINT, SIGTERM from aiohttp import web From 6280ec62a66418d6a8207f3bec8e14234b320d31 Mon Sep 17 00:00:00 2001 From: Guilhem Saurel Date: Tue, 20 Feb 2024 10:04:57 +0100 Subject: [PATCH 4/4] update naming --- matrix_webhook/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/matrix_webhook/conf.py b/matrix_webhook/conf.py index 88c3d1a..cb630b2 100644 --- a/matrix_webhook/conf.py +++ b/matrix_webhook/conf.py @@ -77,7 +77,7 @@ parser.add_argument( args = parser.parse_args() SERVER_ADDRESS = (args.host, args.port) -SERVER_PATH = args.path +SERVER_PATH = args.server_path MATRIX_URL = args.matrix_url MATRIX_ID = args.matrix_id MATRIX_PW = args.matrix_pw