From fd10e97263a3b02a86b75877169accbf857db9ac Mon Sep 17 00:00:00 2001
From: Martin van Es <martin@mrvanes.com>
Date: Fri, 12 Nov 2021 08:07:18 +0100
Subject: [PATCH] Externalize signer function

---
 mdserver.py | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/mdserver.py b/mdserver.py
index 1bf6f5d..0857f8a 100755
--- a/mdserver.py
+++ b/mdserver.py
@@ -28,9 +28,14 @@ class Entity(object):
     valid_until = 0
 
 
+def signer(xml):
+    global cert, key
+    return XMLSigner().sign(xml, key=key, cert=cert)
+
+
 @app.route('/sign/<path:eid>', methods=['GET'])
 def sign(eid):
-    global idps, signed, cert
+    global idps, signed
     entity = unquote(eid)
     if entity in signed:
         signed_entity = signed[entity]
@@ -41,7 +46,7 @@ def sign(eid):
     if entity in idps:
         try:
             print(f"sign {entity}")
-            signed_element = XMLSigner().sign(idps[entity].md, key=key, cert=cert)
+            signed_element = signer(idps[entity].md)
             signed_xml = ET.tostring(signed_element, pretty_print=True).decode()
             signed_entity = Entity
             signed_entity.md = signed_xml
-- 
GitLab