cloudflare/vinext

Pages Router: POST to static page does not return 405; `res.revalidate()` with preview cookies broken

Closed

#1,463 opened on May 22, 2026

 (0 comments) (0 reactions) (0 assignees)TypeScript (371 forks)github user discovery
adapter-api-e2ehelp wanted

Repository metrics

Stars
 (8,563 stars)
PR merge metrics
 (Avg merge 1d 1h) (462 merged PRs in 30d)

Description

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

Pages Router does not return 405 Method Not Allowed for POST requests to static (GSP/SSP) pages, and res.revalidate() paired with preview cookies (used by on-demand revalidate / API endpoints) does not produce a usable response. The method-dispatch and preview-cookie plumbing are missing from the Pages Router server.

Expected: 405 | Received: 200 (POST to static page)
res.revalidate() with preview cookies fails to refresh

Estimated Impact

~2 test failures across the deploy suite.

Affected Test Suites

  • test/e2e/prerender.test.ts (2 failures)

Recommendation

  1. Reproduce first in vinext's own test suite. POST to a Pages Router static page and assert 405; trigger res.revalidate() from an API route after setting a preview cookie and assert the page content updates.

  2. Implement method-allow checks for static pages. Static (GSP) pages should reject non-GET/HEAD methods with 405 and emit an Allow header.

  3. Honor preview cookies in revalidate. Make sure res.revalidate() reads the preview-mode cookie when present and uses the preview render path, not the production cache.

Contributor guide