summaryrefslogtreecommitdiff
path: root/packages/integrations/netlify/src/netlify-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-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-functions.ts')
-rw-r--r--packages/integrations/netlify/src/netlify-functions.ts5
1 files changed, 5 insertions, 0 deletions
diff --git a/packages/integrations/netlify/src/netlify-functions.ts b/packages/integrations/netlify/src/netlify-functions.ts
index d342afc4c..0363fb803 100644
--- a/packages/integrations/netlify/src/netlify-functions.ts
+++ b/packages/integrations/netlify/src/netlify-functions.ts
@@ -15,6 +15,8 @@ function parseContentType(header?: string) {
return header?.split(';')[0] ?? '';
}
+const clientAddressSymbol = Symbol.for('astro.clientAddress');
+
export const createExports = (manifest: SSRManifest, args: Args) => {
const app = new App(manifest);
@@ -71,6 +73,9 @@ export const createExports = (manifest: SSRManifest, args: Args) => {
};
}
+ const ip = headers['x-nf-client-connection-ip'];
+ Reflect.set(request, clientAddressSymbol, ip);
+
const response: Response = await app.render(request);
const responseHeaders = Object.fromEntries(response.headers.entries());