[PR #268] [MERGED] fix: override next.config.js headers with middleware headers #428

Closed
opened 2026-05-06 12:39:45 +02:00 by BreizhHardware · 0 comments

📋 Pull Request Information

Original PR: https://github.com/cloudflare/vinext/pull/268
Author: @james-elicx
Created: 3/5/2026
Status: Merged
Merged: 3/7/2026
Merged by: @james-elicx

Base: mainHead: james/implement-middlewareHeadersOverrideNextConfigHeaders


📝 Commits (4)

  • 03ea1ce implement dangerous.middlewareHeadersOverrideNextConfigHeaders from opennext
  • 2d03d48 fix: preserve multi-value set-cookie in RSC middleware header merge, separate timing comment
  • 6aabef5 fix: accumulate Vary header in RSC middleware merge to preserve RSC, Accept
  • 596425c Update packages/vinext/src/server/app-dev-server.ts

📊 Changes

9 files changed (+113 additions, -30 deletions)

View changed files

📝 packages/vinext/src/deploy.ts (+5 -1)
📝 packages/vinext/src/index.ts (+11 -1)
📝 packages/vinext/src/server/app-dev-server.ts (+44 -11)
📝 packages/vinext/src/server/prod-server.ts (+5 -1)
📝 tests/e2e/app-router/config-redirect.spec.ts (+13 -10)
tests/fixtures/app-basic/app/headers/override-from-middleware/page.tsx (+12 -0)
📝 tests/fixtures/app-basic/middleware.ts (+10 -0)
📝 tests/fixtures/app-basic/next.config.ts (+8 -1)
📝 tests/nextjs-compat/TRACKING.md (+5 -5)

📄 Description

While identified through an OpenNext opt-in feature, it's actually an inconsistency with how middleware works in the Next.js server.

This fixes that discrephrency by overwriting the next.config.js headers with ones set in middleware.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/cloudflare/vinext/pull/268 **Author:** [@james-elicx](https://github.com/james-elicx) **Created:** 3/5/2026 **Status:** ✅ Merged **Merged:** 3/7/2026 **Merged by:** [@james-elicx](https://github.com/james-elicx) **Base:** `main` ← **Head:** `james/implement-middlewareHeadersOverrideNextConfigHeaders` --- ### 📝 Commits (4) - [`03ea1ce`](https://github.com/cloudflare/vinext/commit/03ea1ce4bd6414faafcce4fa4bdf1fe7c4a63377) implement dangerous.middlewareHeadersOverrideNextConfigHeaders from opennext - [`2d03d48`](https://github.com/cloudflare/vinext/commit/2d03d48535cfbd6c0c380ccee327edd04e11709a) fix: preserve multi-value set-cookie in RSC middleware header merge, separate timing comment - [`6aabef5`](https://github.com/cloudflare/vinext/commit/6aabef517b167117d07864ad8cf32d86aba9510a) fix: accumulate Vary header in RSC middleware merge to preserve RSC, Accept - [`596425c`](https://github.com/cloudflare/vinext/commit/596425c4a32e33526ac925b3ea2ad6d4623bd348) Update packages/vinext/src/server/app-dev-server.ts ### 📊 Changes **9 files changed** (+113 additions, -30 deletions) <details> <summary>View changed files</summary> 📝 `packages/vinext/src/deploy.ts` (+5 -1) 📝 `packages/vinext/src/index.ts` (+11 -1) 📝 `packages/vinext/src/server/app-dev-server.ts` (+44 -11) 📝 `packages/vinext/src/server/prod-server.ts` (+5 -1) 📝 `tests/e2e/app-router/config-redirect.spec.ts` (+13 -10) ➕ `tests/fixtures/app-basic/app/headers/override-from-middleware/page.tsx` (+12 -0) 📝 `tests/fixtures/app-basic/middleware.ts` (+10 -0) 📝 `tests/fixtures/app-basic/next.config.ts` (+8 -1) 📝 `tests/nextjs-compat/TRACKING.md` (+5 -5) </details> ### 📄 Description While identified through an OpenNext opt-in feature, it's actually an inconsistency with how middleware works in the Next.js server. This fixes that discrephrency by overwriting the next.config.js headers with ones set in middleware. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
BreizhHardware 2026-05-06 12:39:45 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/vinext#428
No description provided.