From 406ed0829e52d438fd40487ebc14a0eddcd576a3 Mon Sep 17 00:00:00 2001 From: Arsh <69170106+lilnasy@users.noreply.github.com> Date: Thu, 12 Oct 2023 14:36:34 +0000 Subject: [PATCH] fix(middleware): instantiate locals if the adapter does not (#8800) --- .../test/fixtures/locals/src/middleware.ts | 6 ++++ .../test/fixtures/locals/src/pages/api.js | 4 +-- ...{foo.astro => from-astro-middleware.astro} | 0 .../src/pages/from-node-middleware.astro | 4 +++ .../integrations/node/test/locals.test.js | 33 +++++++++++++++++-- 5 files changed, 42 insertions(+), 5 deletions(-) create mode 100644 packages/integrations/node/test/fixtures/locals/src/middleware.ts rename packages/integrations/node/test/fixtures/locals/src/pages/{foo.astro => from-astro-middleware.astro} (100%) create mode 100644 packages/integrations/node/test/fixtures/locals/src/pages/from-node-middleware.astro diff --git a/packages/integrations/node/test/fixtures/locals/src/middleware.ts b/packages/integrations/node/test/fixtures/locals/src/middleware.ts new file mode 100644 index 0000000000..e349ca41d8 --- /dev/null +++ b/packages/integrations/node/test/fixtures/locals/src/middleware.ts @@ -0,0 +1,6 @@ +import { defineMiddleware } from 'astro:middleware'; + +export const onRequest = defineMiddleware(({ url, locals }, next) => { + if (url.pathname === "/from-astro-middleware") locals.foo = "baz"; + return next(); +}) diff --git a/packages/integrations/node/test/fixtures/locals/src/pages/api.js b/packages/integrations/node/test/fixtures/locals/src/pages/api.js index 8b209c5826..3c279e37bd 100644 --- a/packages/integrations/node/test/fixtures/locals/src/pages/api.js +++ b/packages/integrations/node/test/fixtures/locals/src/pages/api.js @@ -1,6 +1,6 @@ -export async function post({ locals }) { - let out = { ...locals }; +export async function POST({ locals }) { + const out = { ...locals }; return new Response(JSON.stringify(out), { headers: { diff --git a/packages/integrations/node/test/fixtures/locals/src/pages/foo.astro b/packages/integrations/node/test/fixtures/locals/src/pages/from-astro-middleware.astro similarity index 100% rename from packages/integrations/node/test/fixtures/locals/src/pages/foo.astro rename to packages/integrations/node/test/fixtures/locals/src/pages/from-astro-middleware.astro diff --git a/packages/integrations/node/test/fixtures/locals/src/pages/from-node-middleware.astro b/packages/integrations/node/test/fixtures/locals/src/pages/from-node-middleware.astro new file mode 100644 index 0000000000..224a875ecc --- /dev/null +++ b/packages/integrations/node/test/fixtures/locals/src/pages/from-node-middleware.astro @@ -0,0 +1,4 @@ +--- +const { foo } = Astro.locals; +--- +