{"html_url": "https://github.com/simonw/datasette/issues/272#issuecomment-392118755", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/272", "id": 392118755, "node_id": "MDEyOklzc3VlQ29tbWVudDM5MjExODc1NQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2018-05-25T16:56:40Z", "updated_at": "2018-06-05T16:01:13Z", "author_association": "OWNER", "body": "Thinking about this further, maybe I should embrace ASGI turtles-all-the-way-down and teach each datasette view class to take a scope to the constructor and act entirely as an ASGI component. Would be a nice way of diving deep into ASGI and I can add utility helpers for things like querystring evaluation as I need them.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 324188953, "label": "Port Datasette to ASGI"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/272#issuecomment-394764713", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/272", "id": 394764713, "node_id": "MDEyOklzc3VlQ29tbWVudDM5NDc2NDcxMw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2018-06-05T15:58:54Z", "updated_at": "2018-06-05T16:00:40Z", "author_association": "OWNER", "body": "https://github.com/encode/uvicorn/blob/572b5fe6c811b63298d5350a06b664839624c860/uvicorn/run.py#L63 is how you start a Uvicorn server from code as opposed to the `uvicorn` CLI\r\n\r\n from uvicorn.run import UvicornServer\r\n UvicornServer().run(app, host=host, port=port)\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 324188953, "label": "Port Datasette to ASGI"}, "performed_via_github_app": null}