Skip to content

Instantly share code, notes, and snippets.

@sineausr931
Last active September 2, 2021 20:30
Show Gist options
  • Save sineausr931/6737f6560984a0ee67a2dd4057e445f7 to your computer and use it in GitHub Desktop.
Save sineausr931/6737f6560984a0ee67a2dd4057e445f7 to your computer and use it in GitHub Desktop.
CORS proxy as Cloudflare worker
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
const url = new URL(request.url)
const path = request.url.replace(/^https:\/\/[^\/]*\//, '')
const apiUrl = "https://example.com/" + path
request = new Request(apiUrl, request)
request.headers.set("Origin", new URL(apiUrl).origin)
let response = await fetch(request)
response = new Response(response.body, response)
response.headers.set("Access-Control-Allow-Origin", '*')
response.headers.append("Vary", "Origin")
response.headers.delete("X-Frame-Options")
response.headers.set("Content-Security-Policy", "script-src 'self' 'unsafe-inline'")
return response
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment