Fix for bug running ?sql= against databases with a different route, closes #1682

pull/1685/head
Simon Willison 2022-03-23 11:48:10 -07:00
rodzic d7c793d799
commit 0159662ab8
2 zmienionych plików z 7 dodań i 1 usunięć

Wyświetl plik

@ -203,7 +203,12 @@ class QueryView(DataView):
named_parameters=None,
write=False,
):
database = tilde_decode(request.url_vars["database"])
database_route = tilde_decode(request.url_vars["database"])
try:
db = self.ds.get_database(route=database_route)
except KeyError:
raise NotFound("Database not found: {}".format(database_route))
database = db.name
params = {key: request.args.get(key) for key in request.args}
if "sql" in params:
params.pop("sql")

Wyświetl plik

@ -94,6 +94,7 @@ async def test_db_with_route_databases(ds_with_route):
("/original-name/t", 404),
("/original-name/t/1", 404),
("/custom-route-name", 200),
("/custom-route-name?sql=select+id+from+t", 200),
("/custom-route-name/t", 200),
("/custom-route-name/t/1", 200),
),