Route /p/<id>/<slug> through the API dispatcher

The dispatcher only forwarded the bare /p/<id> shape, so Funnel Factory
pages fell through to the static handler and 404'd instead of rendering
(or falling back to the member's main page).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
martbost
2026-08-28 10:52:21 -05:00
parent 3f8d23d66c
commit 77c287e953
+1 -1
View File
@@ -1263,7 +1263,7 @@ const server=http.createServer(async(req,res)=>{
const u=new URL(req.url,`http://${req.headers.host||'localhost'}`),pathname=decodeURIComponent(u.pathname); const u=new URL(req.url,`http://${req.headers.host||'localhost'}`),pathname=decodeURIComponent(u.pathname);
// /p/<id> = member Page Builder pages: dynamic HTML, so it must reach the // /p/<id> = member Page Builder pages: dynamic HTML, so it must reach the
// API handler rather than the static-file path (which 404s it). // API handler rather than the static-file path (which 404s it).
if(pathname==='/health'||pathname.startsWith('/api/')||/^\/p\/\d{1,15}$/.test(pathname))return await handleApi(req,res,pathname); if(pathname==='/health'||pathname.startsWith('/api/')||/^\/p\/\d{1,15}(\/[a-z0-9-]{1,24})?$/.test(pathname))return await handleApi(req,res,pathname);
if(req.method!=='GET'&&req.method!=='HEAD')return send(res,405,'Method Not Allowed',{'Content-Type':'text/plain; charset=utf-8'}); if(req.method!=='GET'&&req.method!=='HEAD')return send(res,405,'Method Not Allowed',{'Content-Type':'text/plain; charset=utf-8'});
// Members-area gate: the Circle Method lessons 2-10 + the e-gift cash-out // Members-area gate: the Circle Method lessons 2-10 + the e-gift cash-out
// walkthrough are the PRODUCT — their video FILES require a wallet-verified // walkthrough are the PRODUCT — their video FILES require a wallet-verified