Skip to content

Instantly share code, notes, and snippets.

@2shrestha22
Created September 14, 2019 12:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save 2shrestha22/381256503f236661aba4b68df0109bbd to your computer and use it in GitHub Desktop.
Save 2shrestha22/381256503f236661aba4b68df0109bbd to your computer and use it in GitHub Desktop.
Cloudflare workers script to enable CORS for fonts
// Sets Access-Control-Allow-Origin for fonts
// this worker should be used in subdomain from where fonts are being loaded but not in main site
// eg. www.example.com & static.example.com
// use this worker script with static.example.com
let corsHeaders = {
"Access-Control-Allow-Origin" : "https://sangams.com.np",
}
addEventListener('fetch', event => {
event.respondWith(addHeaders(event.request))
})
async function addHeaders(req) {
let response = await fetch(req)
let newHdrs = new Headers(response.headers)
if (newHdrs.has("Content-Type") && !(newHdrs.get("Content-Type").includes("font")) ) {
return new Response(response.body , {
status: response.status,
statusText: response.statusText,
headers: newHdrs
})
}
Object.keys(corsHeaders).map(function(name, index) {
newHdrs.append(name, corsHeaders[name]);
})
return new Response(response.body , {
status: response.status,
statusText: response.statusText,
headers: newHdrs
})
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment