{"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} {"html_url": "https://github.com/simonw/datasette/issues/306#issuecomment-394894500", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/306", "id": 394894500, "node_id": "MDEyOklzc3VlQ29tbWVudDM5NDg5NDUwMA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2018-06-05T23:40:40Z", "updated_at": "2018-06-05T23:40:40Z", "author_association": "OWNER", "body": "Input:\r\n- function that says if a name is a valid database\r\n- Function that says if a table exists\r\n- URL\r\n\r\nOutput:\r\n- view class\r\n- Arguments\r\n- Redirect (if it should redirect)", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 329661905, "label": "Custom URL routing with independent tests"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/306#issuecomment-394894910", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/306", "id": 394894910, "node_id": "MDEyOklzc3VlQ29tbWVudDM5NDg5NDkxMA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2018-06-05T23:43:18Z", "updated_at": "2018-06-05T23:49:41Z", "author_association": "OWNER", "body": "I'm going to use a named tuple for the output. That way I can support either tuple destructing or explicit property access on the returned value.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 329661905, "label": "Custom URL routing with independent tests"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/306#issuecomment-394895267", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/306", "id": 394895267, "node_id": "MDEyOklzc3VlQ29tbWVudDM5NDg5NTI2Nw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2018-06-05T23:45:26Z", "updated_at": "2018-06-05T23:45:26Z", "author_association": "OWNER", "body": "To support a future where Datasette is an ASGI app that can be attached to a URL within a larger application the routing function should have the option to accept a path prefix which will then be automatically attached to any resulting redirects.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 329661905, "label": "Custom URL routing with independent tests"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/306#issuecomment-394895750", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/306", "id": 394895750, "node_id": "MDEyOklzc3VlQ29tbWVudDM5NDg5NTc1MA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2018-06-05T23:48:06Z", "updated_at": "2018-06-06T23:50:31Z", "author_association": "OWNER", "body": "A neat trick could be that if the router returns a redirect it could then resolve that redirect to see if it will 404 (or redirect itself) before returning that response.\r\n\r\nThis would need its own counter to guard against infinite redirects. \r\n\r\nI'm not going to do this though: any view that results in a chain of redirects like this is a bug that should be fixed at the source.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 329661905, "label": "Custom URL routing with independent tests"}, "performed_via_github_app": null}