16 lines
487 B
TypeScript
16 lines
487 B
TypeScript
import type { CreateInnerContextOptions } from "../../createContext";
|
||
|
||
type CountryCodeOptions = {
|
||
ctx: CreateInnerContextOptions;
|
||
};
|
||
|
||
export const countryCodeHandler = async ({ ctx }: CountryCodeOptions) => {
|
||
const { req } = ctx;
|
||
|
||
const countryCode: string | string[] =
|
||
req?.headers?.["cf-ipcountry"] ?? req?.headers?.["x-vercel-ip-country"] ?? "";
|
||
return { countryCode: Array.isArray(countryCode) ? countryCode[0] : countryCode };
|
||
};
|
||
|
||
export default countryCodeHandler;
|