diff --git a/metadata_service/__init__.py b/metadata_service/__init__.py index 4e69a5e1..ece28ea8 100644 --- a/metadata_service/__init__.py +++ b/metadata_service/__init__.py @@ -5,6 +5,7 @@ import os import sys from typing import Dict, Any # noqa: F401 +from flask_cors import CORS from flasgger import Swagger from flask import Flask, Blueprint @@ -22,13 +23,15 @@ UserFollowsAPI, UserOwnsAPI, UserOwnAPI, UserReadsAPI) - # For customized flask use below arguments to override. FLASK_APP_MODULE_NAME = os.getenv('FLASK_APP_MODULE_NAME') FLASK_APP_CLASS_NAME = os.getenv('FLASK_APP_CLASS_NAME') FLASK_APP_KWARGS_DICT_STR = os.getenv('FLASK_APP_KWARGS_DICT') ROOT_DIR = os.path.dirname(os.path.abspath(__file__)) +# Environment Variable to enable cors +CORS_ENABLED = os.environ.get('CORS_ENABLED', False) + def create_app(*, config_module_class: str) -> Flask: """ @@ -61,6 +64,8 @@ def create_app(*, config_module_class: str) -> Flask: else: app = Flask(__name__) + if CORS_ENABLED: + CORS(app) config_module_class = \ os.getenv('METADATA_SVC_CONFIG_MODULE_CLASS') or config_module_class app.config.from_object(config_module_class) diff --git a/requirements.txt b/requirements.txt index a7cb895c..3e3b33ed 100644 --- a/requirements.txt +++ b/requirements.txt @@ -45,6 +45,7 @@ amundsen-common==0.2.6 flasgger==0.9.3 Flask-RESTful==0.3.6 Flask==1.0.2 +flask-cors==3.0.8 gremlinpython==3.4.3 aniso8601==3.0.0 attrs==19.1.0