From 5534d08e5597ec1b4f998aaf262d0e42527714ab Mon Sep 17 00:00:00 2001 From: Martin van Es <martin@mrvanes.com> Date: Thu, 11 Nov 2021 14:04:03 +0100 Subject: [PATCH] Add mdproxy.py --- mdproxy.py | 30 ++++++++++++++++++++++++++++++ requirements.txt | 1 + 2 files changed, 31 insertions(+) create mode 100755 mdproxy.py diff --git a/mdproxy.py b/mdproxy.py new file mode 100755 index 0000000..ed35ae2 --- /dev/null +++ b/mdproxy.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python + +from flask import Flask, request +from urllib.parse import unquote +import requests +# import traceback + +app = Flask(__name__) + + +# Find all IdP's in edugain metadata +cached = {} +signer = 'http://localhost:5001/sign' + + +@app.route('/cache', methods=['GET']) +def cache(): + global cached + entity = unquote(request.args.get('id')) + if entity in cached: + print(f"serve {entity}") + return cached[entity] + else: + print(f"request {entity}") + result = requests.get(f"{signer}?id={entity}").text + cached[entity] = result + return result + + +app.run(host='0.0.0.0', port=5002) diff --git a/requirements.txt b/requirements.txt index 8d90b7e..18520a3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ lxml signxml flask +requests -- GitLab