Compare commits

...

2 commits

Author SHA1 Message Date
Théophile Bastian 11e5507ec9 Fifo: write line with \n
This is needed for eg. `read` to trigger
2022-04-17 18:39:23 +02:00
Théophile Bastian ff8a91599a Don't use abort for cleaner errors 2022-04-17 18:30:38 +02:00

View file

@ -3,7 +3,7 @@ import hmac
import hashlib
import json
from collections import defaultdict
from flask import Flask, request, abort
from flask import Flask, request
from .conf import Configuration
config = Configuration()
@ -19,12 +19,12 @@ def webhook_receiver(hook_type):
def inner(func):
def wrapped(hook_name: str):
if request.content_length is None or request.content_length > 32000:
abort(400)
return "Too much content", 400
if request.content_type != "application/json":
return "Expected json", 415
if hook_name not in relevant_hooks:
abort(404)
return "No such hook", 404
hook_conf = relevant_hooks[hook_name]
raw_payload: bytes = request.get_data(cache=False)
@ -33,7 +33,7 @@ def webhook_receiver(hook_type):
hook_conf["secret"].encode("utf-8"), raw_payload, hashlib.sha256
).hexdigest()
if not hmac.compare_digest(provided_sig, computed_sig):
abort(403)
return "Bad credentials", 403
try:
payload = json.loads(raw_payload)
@ -59,7 +59,7 @@ def fifo_hooks(payload, hook_name, hook_conf):
"""Fifo web handler -- write 1 to a unix fifo"""
try:
with open(hook_conf["fifo_path"], "w") as fifo:
fifo.write("1")
fifo.write("1\n")
except FileNotFoundError:
return "No such fifo", 500
except PermissionError: