Closed
Description
Currently, the x-middleware-set-cookie
header is being removed from the middleware response:
opennextjs-aws/packages/open-next/src/core/routing/middleware.ts
Lines 116 to 123 in c212ed0
When reading
cookies()
the value of this header is merged into the existing cookies object: https://github.com/vercel/next.js/blob/f62a135d9bde6e92b9f8f50d236b5de02de74400/packages/next/src/server/async-storage/request-store.ts#L83https://github.com/vercel/next.js/blob/f62a135d9bde6e92b9f8f50d236b5de02de74400/packages/next/src/server/async-storage/request-store.ts#L211
So removing this header breaks reading a cookie that was set by the middleware for that request, as shown here
middleware.ts
:
export function middleware(request: NextRequest) {
const response = NextResponse.next()
response.cookies.set("foo", "bar")
return response
}
app/page.tsx
:
import { cookies } from "next/headers";
export default async function Page() {
// On initial render, this will be undefined!
const foo = cookies().get("foo")?.value
return <div>{foo}</div>
}
Metadata
Metadata
Assignees
Labels
No labels