summaryrefslogtreecommitdiff
path: root/packages/integrations/cloudflare/src/server.directory.ts
diff options
context:
space:
mode:
authorGravatar Daniel <daniel.freese@gmail.com> 2022-10-26 15:46:25 +0200
committerGravatar GitHub <noreply@github.com> 2022-10-26 09:46:25 -0400
commitd151d9f3f29c0a57c59b8029a18717808ccc7f8f (patch)
treed6ddc610bf46bbfe50eeb1bf3fe3362529d82f30 /packages/integrations/cloudflare/src/server.directory.ts
parent4efbfdd78d239f708a76eac38c2e971fc956a54e (diff)
downloadastro-d151d9f3f29c0a57c59b8029a18717808ccc7f8f.tar.gz
astro-d151d9f3f29c0a57c59b8029a18717808ccc7f8f.tar.zst
astro-d151d9f3f29c0a57c59b8029a18717808ccc7f8f.zip
enable access to cloudflare runtime (#5103)
* enable access to cloudflare runtime * added get runtime api added context to the runtime in "advanced" mode * added typings and adjusted some return vars * added default types * added usage description to changeset and readme Co-authored-by: AirBorne04 <unknown> Co-authored-by: AirBorne04 <>
Diffstat (limited to 'packages/integrations/cloudflare/src/server.directory.ts')
-rw-r--r--packages/integrations/cloudflare/src/server.directory.ts9
1 files changed, 7 insertions, 2 deletions
diff --git a/packages/integrations/cloudflare/src/server.directory.ts b/packages/integrations/cloudflare/src/server.directory.ts
index e51d0ea57..d31e2189f 100644
--- a/packages/integrations/cloudflare/src/server.directory.ts
+++ b/packages/integrations/cloudflare/src/server.directory.ts
@@ -9,12 +9,12 @@ export function createExports(manifest: SSRManifest) {
const onRequest = async ({
request,
next,
+ ...runtimeEnv
}: {
request: Request;
next: (request: Request) => void;
- }) => {
+ } & Record<string, unknown>) => {
const { origin, pathname } = new URL(request.url);
-
// static assets
if (manifest.assets.has(pathname)) {
const assetRequest = new Request(`${origin}/static${pathname}`, request);
@@ -28,6 +28,11 @@ export function createExports(manifest: SSRManifest) {
Symbol.for('astro.clientAddress'),
request.headers.get('cf-connecting-ip')
);
+ Reflect.set(request, Symbol.for('runtime'), {
+ ...runtimeEnv,
+ name: 'cloudflare',
+ next,
+ });
let response = await app.render(request, routeData);
if (app.setCookieHeaders) {