@cloudflare/next-on-pages
Version:
`@cloudflare/next-on-pages` is a CLI tool that you can use to build and develop [Next.js](https://nextjs.org/) applications so that they can run on the [Cloudflare Pages](https://pages.cloudflare.com/) platform (and integrate with Cloudflare's various oth
33 lines (28 loc) • 968 B
text/typescript
import { SUSPENSE_CACHE_URL } from '../../cache';
/**
* Adjusts the request so that it is formatted as if it were provided by Vercel
*
* @param request the original request received by the worker
* @returns the adjusted request to pass to Next
*/
export function adjustRequestForVercel(request: Request): Request {
const adjustedHeaders = new Headers(request.headers);
if (request.cf) {
adjustedHeaders.set(
'x-vercel-ip-city',
encodeURIComponent(request.cf.city as string),
);
adjustedHeaders.set('x-vercel-ip-country', request.cf.country as string);
adjustedHeaders.set(
'x-vercel-ip-country-region',
request.cf.regionCode as string,
);
adjustedHeaders.set('x-vercel-ip-latitude', request.cf.latitude as string);
adjustedHeaders.set(
'x-vercel-ip-longitude',
request.cf.longitude as string,
);
}
adjustedHeaders.set('x-vercel-sc-host', SUSPENSE_CACHE_URL);
return new Request(request, { headers: adjustedHeaders });
}