This is an automated email from the ASF dual-hosted git repository. beto pushed a commit to branch use_url_for in repository https://gitbox.apache.org/repos/asf/superset.git
commit 5082f0a9d5402120b329d3fb5e6c31fe5237b57a Author: Beto Dealmeida <[email protected]> AuthorDate: Wed Jan 22 15:58:18 2025 -0500 fix: proper URL building --- superset/dashboards/permalink/api.py | 5 ++--- superset/explore/permalink/api.py | 5 ++--- superset/sqllab/permalink/api.py | 5 ++--- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/superset/dashboards/permalink/api.py b/superset/dashboards/permalink/api.py index a6ae2910f4..208cda2a1f 100644 --- a/superset/dashboards/permalink/api.py +++ b/superset/dashboards/permalink/api.py @@ -16,7 +16,7 @@ # under the License. import logging -from flask import request, Response +from flask import request, Response, url_for from flask_appbuilder.api import expose, protect, safe from marshmallow import ValidationError @@ -98,8 +98,7 @@ class DashboardPermalinkRestApi(BaseSupersetApi): dashboard_id=pk, state=state, ).run() - http_origin = request.headers.environ.get("HTTP_ORIGIN") - url = f"{http_origin}/superset/dashboard/p/{key}/" + url = url_for("Superset.dashboard_permalink", key=key, _external=True) return self.response(201, key=key, url=url) except (ValidationError, DashboardPermalinkInvalidStateError) as ex: return self.response(400, message=str(ex)) diff --git a/superset/explore/permalink/api.py b/superset/explore/permalink/api.py index bc9bd1cf67..a554225719 100644 --- a/superset/explore/permalink/api.py +++ b/superset/explore/permalink/api.py @@ -16,7 +16,7 @@ # under the License. import logging -from flask import request, Response +from flask import request, Response, url_for from flask_appbuilder.api import expose, protect, safe from marshmallow import ValidationError @@ -95,8 +95,7 @@ class ExplorePermalinkRestApi(BaseSupersetApi): try: state = self.add_model_schema.load(request.json) key = CreateExplorePermalinkCommand(state=state).run() - http_origin = request.headers.environ.get("HTTP_ORIGIN") - url = f"{http_origin}/superset/explore/p/{key}/" + url = url_for("ExplorePermalinkView.permalink", key=key, _external=True) return self.response(201, key=key, url=url) except ValidationError as ex: return self.response(400, message=ex.messages) diff --git a/superset/sqllab/permalink/api.py b/superset/sqllab/permalink/api.py index c86fb99a5e..9ca0d66a91 100644 --- a/superset/sqllab/permalink/api.py +++ b/superset/sqllab/permalink/api.py @@ -16,7 +16,7 @@ # under the License. import logging -from flask import request, Response +from flask import request, Response, url_for from flask_appbuilder.api import expose, protect, safe from marshmallow import ValidationError @@ -87,8 +87,7 @@ class SqlLabPermalinkRestApi(BaseSupersetApi): try: state = self.add_model_schema.load(request.json) key = CreateSqlLabPermalinkCommand(state=state).run() - http_origin = request.headers.environ.get("HTTP_ORIGIN") - url = f"{http_origin}/sqllab/p/{key}" + url = url_for("SqllabView.root", key=key, _external=True) return self.response(201, key=key, url=url) except ValidationError as ex: return self.response(400, message=ex.messages)
