Skip to content

Commit 3ad4f28

Browse files
author
cod1k
committed
Refactor middleware handling for improved routing logic
Introduced a regex to pass through specific Vite requests and simplified middleware integration by directly using the middleware in the development server. Removed redundant return logic to handle request before vite-core middlewares.
1 parent bce43f0 commit 3ad4f28

File tree

1 file changed

+8
-7
lines changed
  • packages/vite-plugin-cloudflare/src

1 file changed

+8
-7
lines changed

packages/vite-plugin-cloudflare/src/index.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -359,8 +359,13 @@ export function cloudflare(pluginConfig: PluginConfig = {}): vite.Plugin[] {
359359

360360
await initRunners(resolvedPluginConfig, viteDevServer, miniflare);
361361

362+
const viteHandle =
363+
/^https?:\/\/[^/]+\/(?:(?:src|node_modules[^\/]*?\/)|@\w+)/i;
362364
const middleware = createMiddleware(
363-
async ({ request }) => {
365+
async ({ request, passThrough }) => {
366+
if (viteHandle.test(request.url)) {
367+
return passThrough();
368+
}
364369
assert(miniflare, `Miniflare not defined`);
365370
const routerWorker = await getRouterWorker(miniflare);
366371

@@ -371,18 +376,14 @@ export function cloudflare(pluginConfig: PluginConfig = {}): vite.Plugin[] {
371376
{ alwaysCallNext: false }
372377
);
373378

379+
viteDevServer.middlewares.use(middleware);
380+
374381
handleWebSocket(viteDevServer.httpServer, async () => {
375382
assert(miniflare, `Miniflare not defined`);
376383
const routerWorker = await getRouterWorker(miniflare);
377384

378385
return routerWorker.fetch;
379386
});
380-
381-
return () => {
382-
viteDevServer.middlewares.use((req, res, next) => {
383-
middleware(req, res, next);
384-
});
385-
};
386387
},
387388
async configurePreviewServer(vitePreviewServer) {
388389
const workerConfigs = getWorkerConfigs(vitePreviewServer.config.root);

0 commit comments

Comments
 (0)