diff --git a/.changeset/metal-news-watch.md b/.changeset/metal-news-watch.md new file mode 100644 index 000000000..c87e4b528 --- /dev/null +++ b/.changeset/metal-news-watch.md @@ -0,0 +1,5 @@ +--- +"@opennextjs/aws": patch +--- + +fix: remove internal next headers in middleware response diff --git a/packages/open-next/src/core/routing/middleware.ts b/packages/open-next/src/core/routing/middleware.ts index b0aa2b4cf..0420bd0c1 100644 --- a/packages/open-next/src/core/routing/middleware.ts +++ b/packages/open-next/src/core/routing/middleware.ts @@ -110,6 +110,13 @@ export async function handleMiddleware( const resHeaders: Record = {}; responseHeaders.delete("x-middleware-override-headers"); + /* Next will set the header `x-middleware-set-cookie` when you `set-cookie` in the middleware. + * We can delete it here since it will be set in `set-cookie` aswell. Next removes this header in the response themselves. + * `x-middleware-next` is set when you invoke `NextResponse.next()`. We can delete it here aswell. + */ + responseHeaders.delete("x-middleware-set-cookie"); + responseHeaders.delete("x-middleware-next"); + const xMiddlewareKey = "x-middleware-request-"; responseHeaders.forEach((value, key) => { if (key.startsWith(xMiddlewareKey)) {