Corregge l'accesso all'env Worker per Astro 6.
Sostituisce locals.runtime.env con import da cloudflare:workers, ripristinando contatti e newsletter. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@ -1,24 +1,13 @@
|
||||
import type { APIRoute } from 'astro';
|
||||
import { env as workerEnv } from 'cloudflare:workers';
|
||||
import { getEmailBinding, sendCloudflareEmail } from '../../lib/email';
|
||||
|
||||
export const prerender = false;
|
||||
|
||||
type RuntimeEnv = Record<string, unknown>;
|
||||
|
||||
function getRuntimeEnv(locals: unknown): RuntimeEnv {
|
||||
if (
|
||||
locals &&
|
||||
typeof locals === 'object' &&
|
||||
'runtime' in locals &&
|
||||
locals.runtime &&
|
||||
typeof locals.runtime === 'object' &&
|
||||
'env' in locals.runtime &&
|
||||
locals.runtime.env &&
|
||||
typeof locals.runtime.env === 'object'
|
||||
) {
|
||||
return locals.runtime.env as RuntimeEnv;
|
||||
}
|
||||
return {};
|
||||
function getRuntimeEnv(): RuntimeEnv {
|
||||
return workerEnv as unknown as RuntimeEnv;
|
||||
}
|
||||
|
||||
function readEnv(name: string, runtimeEnv: RuntimeEnv): string {
|
||||
@ -69,8 +58,8 @@ function resolveDepartmentRecipient(runtimeEnv: RuntimeEnv, defaultRecipient: st
|
||||
return map[normalized] || defaultRecipient;
|
||||
}
|
||||
|
||||
export const POST: APIRoute = async ({ request, locals, url }) => {
|
||||
const runtimeEnv = getRuntimeEnv(locals);
|
||||
export const POST: APIRoute = async ({ request, url }) => {
|
||||
const runtimeEnv = getRuntimeEnv();
|
||||
const mode = readEnv('CONTACT_FORM_MODE', runtimeEnv).toLowerCase() || 'dev';
|
||||
const fromEmail = readEnv('CONTACT_FORM_FROM_EMAIL', runtimeEnv);
|
||||
const toEmail = readEnv('CONTACT_FORM_TO_EMAIL', runtimeEnv);
|
||||
|
||||
Reference in New Issue
Block a user