fix: proper URL building (#31962)
This commit is contained in:
parent
6d117ffbb5
commit
14f798afec
|
|
@ -16,7 +16,7 @@
|
||||||
# under the License.
|
# under the License.
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from flask import request, Response
|
from flask import request, Response, url_for
|
||||||
from flask_appbuilder.api import expose, protect, safe
|
from flask_appbuilder.api import expose, protect, safe
|
||||||
from marshmallow import ValidationError
|
from marshmallow import ValidationError
|
||||||
|
|
||||||
|
|
@ -98,8 +98,7 @@ class DashboardPermalinkRestApi(BaseSupersetApi):
|
||||||
dashboard_id=pk,
|
dashboard_id=pk,
|
||||||
state=state,
|
state=state,
|
||||||
).run()
|
).run()
|
||||||
http_origin = request.headers.environ.get("HTTP_ORIGIN")
|
url = url_for("Superset.dashboard_permalink", key=key, _external=True)
|
||||||
url = f"{http_origin}/superset/dashboard/p/{key}/"
|
|
||||||
return self.response(201, key=key, url=url)
|
return self.response(201, key=key, url=url)
|
||||||
except (ValidationError, DashboardPermalinkInvalidStateError) as ex:
|
except (ValidationError, DashboardPermalinkInvalidStateError) as ex:
|
||||||
return self.response(400, message=str(ex))
|
return self.response(400, message=str(ex))
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
# under the License.
|
# under the License.
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from flask import request, Response
|
from flask import request, Response, url_for
|
||||||
from flask_appbuilder.api import expose, protect, safe
|
from flask_appbuilder.api import expose, protect, safe
|
||||||
from marshmallow import ValidationError
|
from marshmallow import ValidationError
|
||||||
|
|
||||||
|
|
@ -95,8 +95,7 @@ class ExplorePermalinkRestApi(BaseSupersetApi):
|
||||||
try:
|
try:
|
||||||
state = self.add_model_schema.load(request.json)
|
state = self.add_model_schema.load(request.json)
|
||||||
key = CreateExplorePermalinkCommand(state=state).run()
|
key = CreateExplorePermalinkCommand(state=state).run()
|
||||||
http_origin = request.headers.environ.get("HTTP_ORIGIN")
|
url = url_for("ExplorePermalinkView.permalink", key=key, _external=True)
|
||||||
url = f"{http_origin}/superset/explore/p/{key}/"
|
|
||||||
return self.response(201, key=key, url=url)
|
return self.response(201, key=key, url=url)
|
||||||
except ValidationError as ex:
|
except ValidationError as ex:
|
||||||
return self.response(400, message=ex.messages)
|
return self.response(400, message=ex.messages)
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
# under the License.
|
# under the License.
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from flask import request, Response
|
from flask import request, Response, url_for
|
||||||
from flask_appbuilder.api import expose, protect, safe
|
from flask_appbuilder.api import expose, protect, safe
|
||||||
from marshmallow import ValidationError
|
from marshmallow import ValidationError
|
||||||
|
|
||||||
|
|
@ -87,8 +87,7 @@ class SqlLabPermalinkRestApi(BaseSupersetApi):
|
||||||
try:
|
try:
|
||||||
state = self.add_model_schema.load(request.json)
|
state = self.add_model_schema.load(request.json)
|
||||||
key = CreateSqlLabPermalinkCommand(state=state).run()
|
key = CreateSqlLabPermalinkCommand(state=state).run()
|
||||||
http_origin = request.headers.environ.get("HTTP_ORIGIN")
|
url = url_for("SqllabView.root", key=key, _external=True)
|
||||||
url = f"{http_origin}/sqllab/p/{key}"
|
|
||||||
return self.response(201, key=key, url=url)
|
return self.response(201, key=key, url=url)
|
||||||
except ValidationError as ex:
|
except ValidationError as ex:
|
||||||
return self.response(400, message=ex.messages)
|
return self.response(400, message=ex.messages)
|
||||||
|
|
@ -104,10 +103,10 @@ class SqlLabPermalinkRestApi(BaseSupersetApi):
|
||||||
log_to_statsd=False,
|
log_to_statsd=False,
|
||||||
)
|
)
|
||||||
def get(self, key: str) -> Response:
|
def get(self, key: str) -> Response:
|
||||||
"""Get chart's permanent link state.
|
"""Get permanent link state for SQLLab editor.
|
||||||
---
|
---
|
||||||
get:
|
get:
|
||||||
summary: Get chart's permanent link state
|
summary: Get permanent link state for SQLLab editor.
|
||||||
parameters:
|
parameters:
|
||||||
- in: path
|
- in: path
|
||||||
schema:
|
schema:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue