Don't use abort for cleaner errors
This commit is contained in:
parent
223108004f
commit
ff8a91599a
1 changed files with 4 additions and 4 deletions
|
@ -3,7 +3,7 @@ import hmac
|
||||||
import hashlib
|
import hashlib
|
||||||
import json
|
import json
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
from flask import Flask, request, abort
|
from flask import Flask, request
|
||||||
from .conf import Configuration
|
from .conf import Configuration
|
||||||
|
|
||||||
config = Configuration()
|
config = Configuration()
|
||||||
|
@ -19,12 +19,12 @@ def webhook_receiver(hook_type):
|
||||||
def inner(func):
|
def inner(func):
|
||||||
def wrapped(hook_name: str):
|
def wrapped(hook_name: str):
|
||||||
if request.content_length is None or request.content_length > 32000:
|
if request.content_length is None or request.content_length > 32000:
|
||||||
abort(400)
|
return "Too much content", 400
|
||||||
if request.content_type != "application/json":
|
if request.content_type != "application/json":
|
||||||
return "Expected json", 415
|
return "Expected json", 415
|
||||||
|
|
||||||
if hook_name not in relevant_hooks:
|
if hook_name not in relevant_hooks:
|
||||||
abort(404)
|
return "No such hook", 404
|
||||||
hook_conf = relevant_hooks[hook_name]
|
hook_conf = relevant_hooks[hook_name]
|
||||||
|
|
||||||
raw_payload: bytes = request.get_data(cache=False)
|
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
|
hook_conf["secret"].encode("utf-8"), raw_payload, hashlib.sha256
|
||||||
).hexdigest()
|
).hexdigest()
|
||||||
if not hmac.compare_digest(provided_sig, computed_sig):
|
if not hmac.compare_digest(provided_sig, computed_sig):
|
||||||
abort(403)
|
return "Bad credentials", 403
|
||||||
|
|
||||||
try:
|
try:
|
||||||
payload = json.loads(raw_payload)
|
payload = json.loads(raw_payload)
|
||||||
|
|
Loading…
Reference in a new issue