diff --git a/README.md b/README.md index 8f71afeb0c31e1b311ef34c535f9878f287e6fb5..c81631df4207a3d57449d64e22ad0f1a9b4591c8 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 ed35ae225800aea37b332fc9608cb3b8b7bb8a55..6160c8efe629af4cf32e85228ff01fa83d3a80ea 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 4b145309363637fb1eb28a2b24e1c3594638c4d5..5015ac3221163bcd9b3b323f5f96a617c5656de2 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}")