whole-tale / ngx-dashboard

WholeTale Dashboard rewritten in Angular
MIT License
0 stars 3 forks source link

AiWT URL encoding issue remains #258

Closed craig-willis closed 2 years ago

craig-willis commented 2 years ago

My testing was apparently incomplete on https://github.com/whole-tale/ngx-dashboard/pull/252. Recall, this only happens for a non-logged-in user.

Steps to Reproduce

Expected Results Tale is created with dataset mounted

Actual Results Tale creation fails with 500 error due to Girder request with double-encoded URL.

From Girder logs:

Traceback (most recent call last):
  File "/girder/girder/api/rest.py", line 630, in endpointDecorator
    val = fun(self, path, params)
  File "/girder/girder/api/rest.py", line 1230, in POST
    return self.handleRoute(method, path, params)
  File "/girder/girder/api/rest.py", line 970, in handleRoute
    val = handler(**kwargs)
  File "/girder/girder/api/access.py", line 63, in wrapped
    return fun(*args, **kwargs)
  File "/girder/girder/api/rest.py", line 445, in wrapped
    val = fun(*args, **kwargs)
  File "/girder/girder/api/describe.py", line 709, in wrapped
    return fun(*args, **kwargs)
  File "/girder/plugins/wholetale/server/rest/tale.py", line 260, in createTaleFromUrl
    dataMap = pids_to_entities(
  File "/girder/plugins/wholetale/server/lib/__init__.py", line 91, in pids_to_entities
    raise RuntimeError(msg.format(pid, str(exc)))
RuntimeError: Lookup for "https:%2F%2Fdoi.org%2F10.5281%2Fzenodo.820575" failed with: Failed to interpret "https:%2F%2Fdoi.org%2F10.5281%2Fzenodo.820575" in any meaningful way
Additional info:
  Request URL: POST https://girder.test.wholetale.org/api/v1/tale/import
  Query string: git=false&url=https%3A%252F%252Fdoi.org%252F10.5281%252Fzenodo.820575&taleKwargs=%7B%22title%22%3A%22Automotive%20Sensor%20Data%22%7D&spawn=false&lookupKwargs=%7B%7D&imageId=5c8bba172744a50001c5e548&asTale=false
  Remote IP: 10.0.1.5