Merge pull request #123 from timo-schluessler/add-unix-socket-support

Optionally serve hooks via a UNIX domain socket.
This commit is contained in:
Guilhem Saurel 2024-02-20 10:06:28 +01:00 committed by GitHub
commit 77390cc711
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 15 additions and 1 deletions

View File

@ -2,6 +2,7 @@
import asyncio
import logging
from pathlib import Path
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:
Path.chmod(conf.SERVER_PATH, 0o664)
# Run until we get a shutdown request
await event.wait()

View File

@ -9,6 +9,12 @@ parser.add_argument(
default=os.environ.get("HOST", ""),
help="host to listen to. Default: `''`. Environment variable: `HOST`",
)
parser.add_argument(
"-S",
"--server-path",
default=os.environ.get("SERVER_PATH", ""),
help="unix path to listen to. Default: `''`. Environment variable: `SERVER_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.server_path
MATRIX_URL = args.matrix_url
MATRIX_ID = args.matrix_id
MATRIX_PW = args.matrix_pw