From 3ae6aa8daeb3b060937bff20ec58b9a8e5ad012d Mon Sep 17 00:00:00 2001 From: Martin van Es <martin@mrvanes.com> Date: Thu, 11 Nov 2021 14:54:24 +0100 Subject: [PATCH] Adhere to MDQ protocal for path parameters --- README.md | 6 ++++++ mdproxy.py | 9 +++++---- mdserver.py | 6 +++--- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 8f71afe..c81631d 100644 --- a/README.md +++ b/README.md @@ -19,3 +19,9 @@ Reads source metadata files(s). Serves and caches them signed from memory, on re ## ```mdproxy.py``` Caches signed and cached ```mdserver.py``` metadata requests + +## Queries +MDQ Queries can then be pointed at + +- ```http://mdserver/sign/<entityid>``` +- ```http://mdproxy/cache/<entityid>``` diff --git a/mdproxy.py b/mdproxy.py index ed35ae2..6160c8e 100755 --- a/mdproxy.py +++ b/mdproxy.py @@ -13,16 +13,17 @@ cached = {} signer = 'http://localhost:5001/sign' -@app.route('/cache', methods=['GET']) -def cache(): +@app.route('/cache/<path:eid>', methods=['GET']) +def cache(eid): global cached - entity = unquote(request.args.get('id')) + entity = unquote(eid) + print(f"entity: {entity}") if entity in cached: print(f"serve {entity}") return cached[entity] else: print(f"request {entity}") - result = requests.get(f"{signer}?id={entity}").text + result = requests.get(f"{signer}/{entity}").text cached[entity] = result return result diff --git a/mdserver.py b/mdserver.py index 4b14530..5015ac3 100755 --- a/mdserver.py +++ b/mdserver.py @@ -22,10 +22,10 @@ cert = open("meta.crt").read() key = open("meta.key").read() -@app.route('/sign', methods=['GET']) -def sign(): +@app.route('/sign/<path:eid>', methods=['GET']) +def sign(eid): global idps, signed, cert - entity = unquote(request.args.get('id')) + entity = unquote(eid) try: if entity in signed: print(f"serve {entity}") -- GitLab