Created
September 14, 2019 12:36
-
-
Save 2shrestha22/381256503f236661aba4b68df0109bbd to your computer and use it in GitHub Desktop.
Cloudflare workers script to enable CORS for fonts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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