cloudflare/vinext

Pages Router: API route returns 500 when middleware is present

クローズ

#1,477 opened on 2026/05/22

 (0 件のコメント) (0 件のリアクション) (0 人の担当者)TypeScript (371 件のフォーク)github user discovery
adapter-api-e2ehelp wanted

Repository metrics

Stars
 (8,563 個のスター)
PR merge metrics
 (平均マージ 1d 1h) (30d で 462 merged PRs)

説明

This issue was created by an agent analysing CI failures from the Next.js Deploy Suite (vinext main vs Next.js v16.2.6, 2026-05-22).

Problem

When a Pages Router app defines middleware and a client makes a request to /api/*, the API handler returns Internal Server Error (HTTP 500) instead of executing. The middleware pipeline appears to interfere with API route dispatch.

GET /api/* with middleware returns 500

Estimated Impact

~2 test failures across the deploy suite.

Affected Test Suites

  • test/e2e/proxy-request-with-middleware/test/index.test.ts (2 failures)

Recommendation

  1. Reproduce first in vinext's own test suite. Add a Pages Router fixture with a no-op middleware.ts and pages/api/hello.ts. Assert /api/hello returns 200.

  2. Fix the middleware -> API route handoff. After middleware runs and chooses to fall through (no rewrite/redirect), /api/* routes must dispatch normally instead of crashing.

  3. Related, but not duplicate, of #1338. #1338 covers edge runtime API routes returning 500/404; this is node runtime API routes returning 500 specifically because middleware is configured.

コントリビューターガイド