Skip to content

Commit 8f6a2aa

Browse files
committed
Load ASGI bridge after Worker startup
1 parent 73e77aa commit 8f6a2aa

2 files changed

Lines changed: 9 additions & 9 deletions

File tree

src/main.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,8 @@
1010
from asset_manifest import HTML_CACHE_VERSION
1111
from examples import PYTHON_VERSION
1212

13-
try:
14-
import asgi as worker_asgi
15-
except ImportError: # Allows editor tooling outside Workers, where the js module is unavailable.
16-
worker_asgi = None
13+
if False: # Ensure the Worker bundler includes the ASGI bridge without importing js during local tooling.
14+
import asgi
1715

1816
try:
1917
from js import Object, Request as JsRequest, caches
@@ -130,6 +128,8 @@ async def not_found(path: str, request: Request):
130128

131129
class Default(WorkerEntrypoint):
132130
async def fetch(self, request):
131+
import asgi
132+
133133
global _CURRENT_WORKER_REQUEST
134134
_CURRENT_WORKER_REQUEST = request
135135

@@ -141,13 +141,13 @@ async def fetch(self, request):
141141
cached = await caches.default.match(cache_key)
142142
if cached:
143143
return cached
144-
response = await worker_asgi.fetch(app, request.js_object, self.env)
144+
response = await asgi.fetch(app, request.js_object, self.env)
145145
if getattr(response, "status", 200) == 200:
146146
response.headers.set("Cache-Control", "public, max-age=300, stale-while-revalidate=86400")
147147
await caches.default.put(cache_key, response.clone())
148148
return response
149-
response = await worker_asgi.fetch(app, request.js_object, self.env)
149+
response = await asgi.fetch(app, request.js_object, self.env)
150150
response.headers.set("Cache-Control", "no-store")
151151
return response
152152

153-
return await worker_asgi.fetch(app, request.js_object, self.env)
153+
return await asgi.fetch(app, request.js_object, self.env)

tests/test_app.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -393,8 +393,8 @@ def test_worker_entrypoint_uses_fastapi_asgi_bridge(self):
393393
main_source = (ROOT / "src" / "main.py").read_text()
394394
self.assertIn("from fastapi import FastAPI, Request", main_source)
395395
self.assertIn("app = FastAPI", main_source)
396-
self.assertIn("import asgi as worker_asgi", main_source)
397-
self.assertIn("return await worker_asgi.fetch(app, request.js_object, self.env)", main_source)
396+
self.assertIn("import asgi", main_source)
397+
self.assertIn("return await asgi.fetch(app, request.js_object, self.env)", main_source)
398398
self.assertIn("caches.default.match", main_source)
399399
self.assertIn("caches.default.put", main_source)
400400
self.assertIn("Cache-Control", main_source)

0 commit comments

Comments
 (0)