summaryrefslogtreecommitdiff
path: root/packages/integrations/netlify/src/netlify-edge-functions.ts
diff options
context:
space:
mode:
authorGravatar Matthew Phillips <matthew@skypack.dev> 2022-07-19 16:10:15 -0400
committerGravatar GitHub <noreply@github.com> 2022-07-19 16:10:15 -0400
commit5a23483efb3ba614b05a00064f84415620605204 (patch)
treed0f70410ad1c015262d7a4518b133be7e674dfea /packages/integrations/netlify/src/netlify-edge-functions.ts
parentd73c04a9e58c7d320cdb4f34604de76b30199778 (diff)
downloadastro-5a23483efb3ba614b05a00064f84415620605204.tar.gz
astro-5a23483efb3ba614b05a00064f84415620605204.tar.zst
astro-5a23483efb3ba614b05a00064f84415620605204.zip
Adds support for Astro.clientAddress (#3973)
* Adds support for Astro.clientAddress * Pass through mode and adapterName in SSG * Pass through the mode provided * Provide an adapter specific error message when possible
Diffstat (limited to 'packages/integrations/netlify/src/netlify-edge-functions.ts')
-rw-r--r--packages/integrations/netlify/src/netlify-edge-functions.ts4
1 files changed, 4 insertions, 0 deletions
diff --git a/packages/integrations/netlify/src/netlify-edge-functions.ts b/packages/integrations/netlify/src/netlify-edge-functions.ts
index 0d2974c61..a2c883585 100644
--- a/packages/integrations/netlify/src/netlify-edge-functions.ts
+++ b/packages/integrations/netlify/src/netlify-edge-functions.ts
@@ -1,6 +1,8 @@
import type { SSRManifest } from 'astro';
import { App } from 'astro/app';
+const clientAddressSymbol = Symbol.for('astro.clientAddress');
+
export function createExports(manifest: SSRManifest) {
const app = new App(manifest);
@@ -13,6 +15,8 @@ export function createExports(manifest: SSRManifest) {
return;
}
if (app.match(request)) {
+ const ip = request.headers.get('x-nf-client-connection-ip');
+ Reflect.set(request, clientAddressSymbol, ip);
return app.render(request);
}