From d0c03d5e8177037acc02f45434d3a20158ac2e00 Mon Sep 17 00:00:00 2001
From: David Trattnig <david.trattnig@o94.at>
Date: Fri, 28 Aug 2020 17:47:48 +0200
Subject: [PATCH] Default CORS setting. aura/engine-clock#1

---
 config/sample/sample-development.engine-api.ini | 2 +-
 config/sample/sample-docker.engine-api.ini      | 2 +-
 config/sample/sample-production.engine-api.ini  | 2 +-
 src/app.py                                      | 5 +++++
 test/config/engine-0-api.ini                    | 2 +-
 test/config/engine-1-api.ini                    | 2 +-
 test/config/engine-2-api.ini                    | 2 +-
 7 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/config/sample/sample-development.engine-api.ini b/config/sample/sample-development.engine-api.ini
index eff6651..cb9ce5e 100644
--- a/config/sample/sample-development.engine-api.ini
+++ b/config/sample/sample-development.engine-api.ini
@@ -19,7 +19,7 @@ debug_flask="false"
 
 [api]
 api_port=8008
-
+api_cors="*"
 
 [federation]
 
diff --git a/config/sample/sample-docker.engine-api.ini b/config/sample/sample-docker.engine-api.ini
index 28e2d22..084980e 100644
--- a/config/sample/sample-docker.engine-api.ini
+++ b/config/sample/sample-docker.engine-api.ini
@@ -19,7 +19,7 @@ debug_flask="false"
 
 [api]
 api_port=8008
-
+api_cors="*"
 
 [federation]
 
diff --git a/config/sample/sample-production.engine-api.ini b/config/sample/sample-production.engine-api.ini
index 28e2d22..084980e 100644
--- a/config/sample/sample-production.engine-api.ini
+++ b/config/sample/sample-production.engine-api.ini
@@ -19,7 +19,7 @@ debug_flask="false"
 
 [api]
 api_port=8008
-
+api_cors="*"
 
 [federation]
 
diff --git a/src/app.py b/src/app.py
index 0c9dfb2..65d664e 100644
--- a/src/app.py
+++ b/src/app.py
@@ -64,6 +64,11 @@ api = connexion.App(__name__, specification_dir='rest/swagger', arguments={'titl
 api.add_api('swagger.yaml', pythonic_params=True)
 app = build_app(api.app)
 
+@app.after_request
+def after_request(response):
+    header = response.headers
+    header['Access-Control-Allow-Origin'] = config.get("api_cors")
+    return response
 
 def startup():
     """
diff --git a/test/config/engine-0-api.ini b/test/config/engine-0-api.ini
index db55ce2..37ce8a5 100644
--- a/test/config/engine-0-api.ini
+++ b/test/config/engine-0-api.ini
@@ -19,7 +19,7 @@ debug_flask="false"
 
 [api]
 api_port=8010
-
+api_cors="*"
 
 [federation]
 
diff --git a/test/config/engine-1-api.ini b/test/config/engine-1-api.ini
index f4fed4b..69abc05 100644
--- a/test/config/engine-1-api.ini
+++ b/test/config/engine-1-api.ini
@@ -19,7 +19,7 @@ debug_flask="false"
 
 [api]
 api_port=8008
-
+api_cors="*"
 
 [federation]
 
diff --git a/test/config/engine-2-api.ini b/test/config/engine-2-api.ini
index 19dd467..78e534a 100644
--- a/test/config/engine-2-api.ini
+++ b/test/config/engine-2-api.ini
@@ -19,7 +19,7 @@ debug_flask="false"
 
 [api]
 api_port=8009
-
+api_cors="*"
 
 [federation]
 
-- 
GitLab