github
html_url | issue_url | id | node_id | user | created_at | updated_at | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
https://github.com/simonw/datasette/issues/1871#issuecomment-1296339386 | https://api.github.com/repos/simonw/datasette/issues/1871 | 1296339386 | IC_kwDOBm6k_c5NRJG6 | 9599 | 2022-10-30T20:03:04Z | 2022-10-30T20:03:04Z | OWNER | I do need to skip CSRF for these API calls. I'm going to start out by doing that using the `skip_csrf()` hook to skip CSRF checks on anything with a `content-type: application/json` request header. ```python @hookimpl def skip_csrf(scope): if scope["type"] == "http": headers = scope.get("headers") if dict(headers).get(b'content-type') == b'application/json': return True ``` | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
1427293909 | |
https://github.com/simonw/datasette/issues/1871#issuecomment-1296339205 | https://api.github.com/repos/simonw/datasette/issues/1871 | 1296339205 | IC_kwDOBm6k_c5NRJEF | 9599 | 2022-10-30T20:02:05Z | 2022-10-30T20:02:05Z | OWNER | Realized the API explorer doesn't need the API key piece at all - it can work with standard cookie-based auth. This also reflects how most plugins are likely to use this API, where they'll be adding JavaScript that uses `fetch()` to call the write API directly. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
1427293909 | |
https://github.com/simonw/datasette/issues/1871#issuecomment-1296131872 | https://api.github.com/repos/simonw/datasette/issues/1871 | 1296131872 | IC_kwDOBm6k_c5NQWcg | 9599 | 2022-10-30T06:27:56Z | 2022-10-30T06:27:56Z | OWNER | Initial prototype API explorer is now live at https://latest-1-0-dev.datasette.io/-/api | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
1427293909 | |
https://github.com/simonw/datasette/issues/1871#issuecomment-1296130073 | https://api.github.com/repos/simonw/datasette/issues/1871 | 1296130073 | IC_kwDOBm6k_c5NQWAZ | 9599 | 2022-10-30T06:20:56Z | 2022-10-30T06:20:56Z | OWNER | That initial prototype looks like this: <img width="560" alt="image" src="https://user-images.githubusercontent.com/9599/198865445-e5dd8c12-6504-47e0-98e5-2dfde25052f4.png"> It currently shows the returned JSON from the API in an `alert()`. Next I should make that part of the page instead. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
1427293909 | |
https://github.com/simonw/datasette/issues/1871#issuecomment-1296126389 | https://api.github.com/repos/simonw/datasette/issues/1871 | 1296126389 | IC_kwDOBm6k_c5NQVG1 | 9599 | 2022-10-30T06:04:48Z | 2022-10-30T06:04:48Z | OWNER | This is even more important now I have pushed: - #1866 | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
1427293909 | |
https://github.com/simonw/datasette/issues/1871#issuecomment-1296114136 | https://api.github.com/repos/simonw/datasette/issues/1871 | 1296114136 | IC_kwDOBm6k_c5NQSHY | 9599 | 2022-10-30T05:15:40Z | 2022-10-30T05:15:40Z | OWNER | Host it at `/-/api` It's an input box with a path in and a textarea you can put JSON in, plus a submit button to post the request. It lists the API endpoints you can use - click on a link to populate the form field plus a example. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
1427293909 |