fix: proper URL building (#31962)
This commit is contained in:
parent
6d117ffbb5
commit
14f798afec
|
|
@ -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))
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
@ -104,10 +103,10 @@ class SqlLabPermalinkRestApi(BaseSupersetApi):
|
|||
log_to_statsd=False,
|
||||
)
|
||||
def get(self, key: str) -> Response:
|
||||
"""Get chart's permanent link state.
|
||||
"""Get permanent link state for SQLLab editor.
|
||||
---
|
||||
get:
|
||||
summary: Get chart's permanent link state
|
||||
summary: Get permanent link state for SQLLab editor.
|
||||
parameters:
|
||||
- in: path
|
||||
schema:
|
||||
|
|
|
|||
Loading…
Reference in New Issue