diff --git a/packages/astro/e2e/fixtures/server-client-address/astro.config.mjs b/packages/astro/e2e/fixtures/server-client-address/astro.config.mjs new file mode 100644 index 0000000000..10eb309c96 --- /dev/null +++ b/packages/astro/e2e/fixtures/server-client-address/astro.config.mjs @@ -0,0 +1,8 @@ +import { defineConfig } from 'astro/config'; +import nodejs from '@astrojs/node'; + +// https://astro.build/config +export default defineConfig({ + output: 'server', + adapter: nodejs({ mode: 'standalone' }), +}); diff --git a/packages/astro/e2e/fixtures/server-client-address/package.json b/packages/astro/e2e/fixtures/server-client-address/package.json new file mode 100644 index 0000000000..89dc676dae --- /dev/null +++ b/packages/astro/e2e/fixtures/server-client-address/package.json @@ -0,0 +1,12 @@ +{ + "name": "@e2e/server-client-address", + "version": "0.0.0", + "private": true, + "scripts": { + "dev": "astro dev" + }, + "dependencies": { + "astro": "workspace:*", + "@astrojs/node": "^9.0.0" + } +} diff --git a/packages/astro/e2e/fixtures/server-client-address/src/actions/index.ts b/packages/astro/e2e/fixtures/server-client-address/src/actions/index.ts new file mode 100644 index 0000000000..f28c683062 --- /dev/null +++ b/packages/astro/e2e/fixtures/server-client-address/src/actions/index.ts @@ -0,0 +1,11 @@ +import { defineAction } from 'astro:actions'; + +export const server = { + address: defineAction({ + accept: 'form', + handler: async (_, ctx) => { + console.log('Actions executed'); + return ctx.clientAddress; + } + }) +} diff --git a/packages/astro/e2e/fixtures/server-client-address/src/middleware.ts b/packages/astro/e2e/fixtures/server-client-address/src/middleware.ts new file mode 100644 index 0000000000..88aec7ecd4 --- /dev/null +++ b/packages/astro/e2e/fixtures/server-client-address/src/middleware.ts @@ -0,0 +1,5 @@ +export const onRequest = (ctx, next) => { + console.log(ctx.clientAddress); + + return next(); +} diff --git a/packages/astro/e2e/fixtures/server-client-address/src/pages/endpoint.ts b/packages/astro/e2e/fixtures/server-client-address/src/pages/endpoint.ts new file mode 100644 index 0000000000..600a4123b4 --- /dev/null +++ b/packages/astro/e2e/fixtures/server-client-address/src/pages/endpoint.ts @@ -0,0 +1,11 @@ +export const GET = (ctx) => { + return Response.json({ + clientAddress: ctx.clientAddress !== undefined + }); +} + +export const POST = (ctx) => { + return Response.json({ + clientAddress: ctx.clientAddress !== undefined + }); +} diff --git a/packages/astro/e2e/fixtures/server-client-address/src/pages/index.astro b/packages/astro/e2e/fixtures/server-client-address/src/pages/index.astro new file mode 100644 index 0000000000..f025a44c38 --- /dev/null +++ b/packages/astro/e2e/fixtures/server-client-address/src/pages/index.astro @@ -0,0 +1,5 @@ +--- +const address = Astro.clientAddress; +--- + +