Added /-/actor.json - refs #699

Also added JSON highlighting to introspection documentation.
This commit is contained in:
Simon Willison 2020-05-30 18:51:00 -07:00
commit 1fc6ceefb9
4 changed files with 57 additions and 9 deletions

View file

@ -586,6 +586,9 @@ class Datasette:
)
return d
def _actor(self, request):
return {"actor": request.scope.get("actor", None)}
def table_metadata(self, database, table):
"Fetch table-specific metadata."
return (
@ -762,6 +765,10 @@ class Datasette:
JsonDataView.as_asgi(self, "databases.json", self._connected_databases),
r"/-/databases(?P<as_format>(\.json)?)$",
)
add_route(
JsonDataView.as_asgi(self, "actor.json", self._actor, needs_request=True),
r"/-/actor(?P<as_format>(\.json)?)$",
)
add_route(
PatternPortfolioView.as_asgi(self), r"/-/patterns$",
)

View file

@ -6,13 +6,17 @@ from .base import BaseView
class JsonDataView(BaseView):
name = "json_data"
def __init__(self, datasette, filename, data_callback):
def __init__(self, datasette, filename, data_callback, needs_request=False):
self.ds = datasette
self.filename = filename
self.data_callback = data_callback
self.needs_request = needs_request
async def get(self, request, as_format):
data = self.data_callback()
if self.needs_request:
data = self.data_callback(request)
else:
data = self.data_callback()
if as_format:
headers = {}
if self.ds.cors: