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