{'actor': None, 'asgi': {'spec_version': '2.3', 'version': '3.0'}, 'client': ('172.16.0.18', 38518), 'csrftoken': ._asgi_csrf_decorator..app_wrapped_with_csrf..get_csrftoken at 0x7f2e1229eca0>, 'headers': [(b'accept', b'*/*'), (b'user-agent', b'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatibl' b'e; ClaudeBot/1.0; +claudebot@anthropic.com)'), (b'accept-encoding', b'gzip, br, zstd, deflate'), (b'x-request-start', b't=1751324433768358'), (b'host', b'datasette.io'), (b'fly-client-ip', b'216.73.216.190'), (b'x-forwarded-for', b'216.73.216.190, 66.241.124.47'), (b'fly-forwarded-proto', b'https'), (b'x-forwarded-proto', b'https'), (b'fly-forwarded-ssl', b'on'), (b'x-forwarded-ssl', b'on'), (b'fly-forwarded-port', b'443'), (b'x-forwarded-port', b'443'), (b'fly-region', b'ord'), (b'fly-request-id', b'01JZ1H47B84D7H18M42ANJYRB2-ord'), (b'via', b'2 fly.io, 2 fly.io')], 'http_version': '1.1', 'method': 'GET', 'path': '/-/asgi-scope', 'query_string': b'', 'raw_path': b'/-/asgi-scope', 'root_path': '', 'scheme': 'http', 'server': ('172.19.0.18', 8080), 'state': {}, 'type': 'http', 'url_route': {'kwargs': {}}}