diff options
Diffstat (limited to 'packages/integrations/cloudflare/src/entrypoints/middleware.ts')
-rw-r--r-- | packages/integrations/cloudflare/src/entrypoints/middleware.ts | 27 |
1 files changed, 8 insertions, 19 deletions
diff --git a/packages/integrations/cloudflare/src/entrypoints/middleware.ts b/packages/integrations/cloudflare/src/entrypoints/middleware.ts index b5073cd0e..187aface5 100644 --- a/packages/integrations/cloudflare/src/entrypoints/middleware.ts +++ b/packages/integrations/cloudflare/src/entrypoints/middleware.ts @@ -1,23 +1,12 @@ -import { When, whenAmI } from '@it-astro:when'; import type { MiddlewareHandler } from 'astro'; -const middlewares: Record<When, MiddlewareHandler> = { - [When.Client]: () => { - throw new Error('Client should not run a middleware!'); - }, - [When.DevServer]: (_, next) => next(), - [When.Server]: (_, next) => next(), - [When.Prerender]: (ctx, next) => { +export const onRequest: MiddlewareHandler = (context, next) => { + if (context.isPrerendered) { // @ts-expect-error - if (ctx.locals.runtime === undefined) { - // @ts-expect-error - ctx.locals.runtime = { - env: process.env, - }; - } - return next(); - }, - [When.StaticBuild]: (_, next) => next(), -}; + context.locals.runtime ??= { + env: process.env, + }; + } -export const onRequest = middlewares[whenAmI]; + return next(); +}; |