diff --git a/.changeset/afraid-bikes-count.md b/.changeset/afraid-bikes-count.md new file mode 100644 index 000000000000..8335a33cfc7a --- /dev/null +++ b/.changeset/afraid-bikes-count.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/adapter-cloudflare': minor +--- + +feat: add cloudflare's `request.cf` object to the `event.platform` property diff --git a/packages/adapter-cloudflare/ambient.d.ts b/packages/adapter-cloudflare/ambient.d.ts index e0ee9db199db..5b3c951b4139 100644 --- a/packages/adapter-cloudflare/ambient.d.ts +++ b/packages/adapter-cloudflare/ambient.d.ts @@ -1,4 +1,4 @@ -import { Cache, CacheStorage } from '@cloudflare/workers-types'; +import { Cache, CacheStorage, IncomingRequestCfProperties } from '@cloudflare/workers-types'; declare global { namespace App { @@ -7,6 +7,7 @@ declare global { waitUntil(promise: Promise): void; }; caches?: CacheStorage & { default: Cache }; + cf?: IncomingRequestCfProperties; } } } diff --git a/packages/adapter-cloudflare/src/worker.js b/packages/adapter-cloudflare/src/worker.js index 6a421a4e9ba9..59e6af9f54a3 100644 --- a/packages/adapter-cloudflare/src/worker.js +++ b/packages/adapter-cloudflare/src/worker.js @@ -46,7 +46,7 @@ const worker = { // dynamically-generated pages res = await server.respond(req, { // @ts-ignore - platform: { env, context, caches }, + platform: { env, context, caches, cf: req.cf }, getClientAddress() { return req.headers.get('cf-connecting-ip'); }