Country code redirect
Redirect a response based on the country code in the header of a visitor.
export default {  async fetch(request) {    /**     * A map of the URLs to redirect to     * @param {Object} countryMap     */    const countryMap = {      US: "https://example.com/us",      EU: "https://example.com/eu",    };
    // Use the cf object to obtain the country of the request    // more on the cf object: https://developers.cloudflare.com/workers/runtime-apis/request#incomingrequestcfproperties    const country = request.cf.country;
    if (country != null && country in countryMap) {      const url = countryMap[country];      // Remove this logging statement from your final output.      console.log(        `Based on ${country}-based request, your user would go to ${url}.`,      );      return Response.redirect(url);    } else {      return fetch("https://example.com", request);    }  },};export default {  async fetch(request): Promise<Response> {    /**     * A map of the URLs to redirect to     * @param {Object} countryMap     */    const countryMap = {      US: "https://example.com/us",      EU: "https://example.com/eu",    };
    // Use the cf object to obtain the country of the request    // more on the cf object: https://developers.cloudflare.com/workers/runtime-apis/request#incomingrequestcfproperties    const country = request.cf.country;
    if (country != null && country in countryMap) {      const url = countryMap[country];      return Response.redirect(url);    } else {      return fetch(request);    }  },} satisfies ExportedHandler;from js import Response, fetch
async def on_fetch(request):    countries = {        "US": "https://example.com/us",        "EU": "https://example.com/eu",    }
    # Use the cf object to obtain the country of the request    # more on the cf object: https://developers.cloudflare.com/workers/runtime-apis/request#incomingrequestcfproperties    country = request.cf.country
    if country and country in countries:        url = countries[country]        return Response.redirect(url)
    return fetch("https://example.com", request)