Non-official site for The Life Series Minecraft hardcore survival multiplayer series housing every video www.life-series.online
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Prepare for rewrite (#50)

* deps: Add node

* Make site SSR and add rewrite cookie that 404s existing pages

* Disallow /rewrite/ routes from crawlers

* deps: update packages

* use vercel adapter instead of node

* enable vercel edge middleware

* try fixing vercel middleware

* try fixing vercel middleware again

authored by

Ghustvn and committed by
GitHub
99ae5a35 7255e52b

+7 -21
+7 -21
src/middleware.ts
··· 9 9 10 10 // Activate rewrite: ?rewrite=your-secret 11 11 if (rewriteParam === REWRITE_SECRET) { 12 - const response = await next(); 13 - const headers = new Headers(response.headers); 14 - headers.append( 15 - 'Set-Cookie', 16 - `${COOKIE_NAME}=true; Path=/; HttpOnly; SameSite=Lax; Max-Age=31536000`, 17 - ); 18 - return new Response(response.body, { 19 - status: response.status, 20 - statusText: response.statusText, 21 - headers, 12 + context.cookies.set(COOKIE_NAME, 'true', { 13 + path: '/', 14 + httpOnly: true, 15 + sameSite: 'lax', 16 + maxAge: 31536000, 22 17 }); 23 18 } 24 19 25 20 // Deactivate rewrite: ?rewrite=off 26 21 if (rewriteParam === 'off') { 27 - const response = await next(); 28 - const headers = new Headers(response.headers); 29 - headers.append('Set-Cookie', `${COOKIE_NAME}=; Path=/; HttpOnly; SameSite=Lax; Max-Age=0`); 30 - return new Response(response.body, { 31 - status: response.status, 32 - statusText: response.statusText, 33 - headers, 34 - }); 22 + context.cookies.delete(COOKIE_NAME, { path: '/' }); 35 23 } 36 24 37 - const cookies = context.request.headers.get('cookie') || ''; 38 - const isRewrite = cookies.includes(`${COOKIE_NAME}=true`); 39 - 25 + const isRewrite = context.cookies.get(COOKIE_NAME)?.value === 'true'; 40 26 context.locals.isRewrite = isRewrite; 41 27 42 28 return next();