New Project

Adding Cookies

Read and write cookies directly at the edge.

DeployView Demo

Cookies Example

You can read and write cookies directly on the edge and action as needed.

Demo

https://edge-functions-cookies.vercel.app

Since you can read cookies on the edge and rewrite the user to a statically generated page, eliminates the need of using getServerSideProps + redirect just to access the cookie, hence improving your site's performance and maintaining the same url.

The magic happens in the middleware.ts file [blocked]:

import { NextRequest, NextResponse } from 'next/server'
export const config = {
matcher: '/',
}
export default function middleware(req: NextRequest) {
// Parse the cookie
const isInBeta = JSON.parse(req.cookies.get('beta')?.value || 'false')
// Update url pathname
req.nextUrl.pathname = `/${isInBeta ? 'beta' : 'non-beta'}`
// Rewrite to url
return NextResponse.rewrite(req.nextUrl)
}

How to Use

You can choose from one of the following two methods to use this repository:

One-Click Deploy

Deploy the example using Vercel:

Clone and Deploy

Execute create-next-app with pnpm to bootstrap the example:

pnpm create next-app --example https://github.com/vercel/examples/tree/main/edge-middleware/cookies cookies

Next, run Next.js in development mode:

pnpm dev

Deploy it to the cloud with Vercel (Documentation).

GitHub Repovercel/examples
LicenseView License
Use Cases
Edge Middleware
Stack
Next.js
Tailwind

Related Templates

A/B Testing Simple

By A/B testing at the edge, you'll reduce CLS from client-loaded experiments and improve your site's performance with smaller JS bundles.
A/B Testing Simple thumbnail
DeployView Demo