From 799b9e7cbf29e0b428b0be1d44c6a2631cbe8788 Mon Sep 17 00:00:00 2001 From: Philipp Viereck <105976309+philippviereck@users.noreply.github.com> Date: Wed, 25 Oct 2023 23:54:10 +0200 Subject: [PATCH] feat: add cloudflare cf object to `platform` in `adapter-cloudflare-workers` (#10873) --- .changeset/cuddly-pigs-teach.md | 5 +++++ packages/adapter-cloudflare-workers/ambient.d.ts | 3 ++- packages/adapter-cloudflare-workers/files/entry.js | 4 +++- 3 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 .changeset/cuddly-pigs-teach.md diff --git a/.changeset/cuddly-pigs-teach.md b/.changeset/cuddly-pigs-teach.md new file mode 100644 index 000000000000..a7f3e6b252a7 --- /dev/null +++ b/.changeset/cuddly-pigs-teach.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/adapter-cloudflare-workers': minor +--- + +feat: add cloudflare's `request.cf` object to the `event.platform` property diff --git a/packages/adapter-cloudflare-workers/ambient.d.ts b/packages/adapter-cloudflare-workers/ambient.d.ts index 5978f0dd3850..fbd01afd6557 100644 --- a/packages/adapter-cloudflare-workers/ambient.d.ts +++ b/packages/adapter-cloudflare-workers/ambient.d.ts @@ -1,4 +1,4 @@ -import { CacheStorage } from '@cloudflare/workers-types'; +import { CacheStorage, IncomingRequestCfProperties } from '@cloudflare/workers-types'; declare global { namespace App { @@ -7,6 +7,7 @@ declare global { waitUntil(promise: Promise): void; }; caches: CacheStorage; + cf?: IncomingRequestCfProperties; } } } diff --git a/packages/adapter-cloudflare-workers/files/entry.js b/packages/adapter-cloudflare-workers/files/entry.js index 0969ba1bbf07..0233f9017ae1 100644 --- a/packages/adapter-cloudflare-workers/files/entry.js +++ b/packages/adapter-cloudflare-workers/files/entry.js @@ -71,7 +71,9 @@ export default { env, context, // @ts-expect-error lib.dom is interfering with workers-types - caches + caches, + // @ts-expect-error req is actually a Cloudflare request not a standard request + cf: req.cf }, getClientAddress() { return req.headers.get('cf-connecting-ip');