improve json handling

This commit is contained in:
2019-10-06 11:53:43 +02:00
parent db928ff694
commit 967910df39

View File

@@ -4,7 +4,7 @@ import argparse
import json
app = flask.Flask("webhook-listener")
SECRET_TOKEN_HEADER = "X-Gitlab-Token"
TOKEN_HEADER = "X-Gitlab-Token"
PROJECT_IDENTIFIER = "web_url"
config = {}
@@ -15,16 +15,16 @@ def rootPage():
return "Webhook Listener ist running"
else:
data = flask.request.json
print(json.dumps(flask.request.json, indent=4, sort_keys=True))
# check request against configuration #
if data[PROJECT_IDENTIFIER] not in config:
if data["project"][PROJECT_IDENTIFIER] not in config:
return ("Rejected: project not identified in config", 400)
if SECRET_TOKEN_HEADER not in flask.request.headers:
if TOKEN_HEADER not in flask.request.headers:
return ("Rejected: secret token not found in request", 403)
if config[data[PROJECT_IDENTIFIER]] != flask.request.headers[SECRET_TOKEN_HEADER]:
if config[data["project"][PROJECT_IDENTIFIER]] != flask.request.headers[TOKEN_HEADER]:
return ("Rejected: secret token found but is mismatch", 403)
print(json.dumps(flask.request.json))
def readExecutionConfig():
pass