diff --git a/superset/views/core.py b/superset/views/core.py index 051ea562fdd..cd73cb4fe19 100755 --- a/superset/views/core.py +++ b/superset/views/core.py @@ -44,7 +44,7 @@ from werkzeug.routing import BaseConverter from werkzeug.utils import secure_filename from superset import ( - app, appbuilder, cache, db, results_backend, + app, appbuilder, cache, conf, db, results_backend, security_manager, sql_lab, viz) from superset.connectors.connector_registry import ConnectorRegistry from superset.connectors.sqla.models import AnnotationDatasource, SqlaTable @@ -1880,6 +1880,20 @@ class Superset(BaseSupersetView): mimetype='text/json', ) + @api + @has_access_api + @expose('/available_domains/', methods=['GET']) + def available_domains(self): + """ + Returns the list of available Superset Webserver domains (if any) + defined in config. This enables charts embedded in other apps to + leverage domain sharding if appropriately configured. + """ + return Response( + json.dumps(conf.get('SUPERSET_WEBSERVER_DOMAINS')), + mimetype='text/json', + ) + @api @has_access_api @expose('/fave_dashboards_by_username//', methods=['GET'])