Last active
September 2, 2021 20:30
-
-
Save sineausr931/6737f6560984a0ee67a2dd4057e445f7 to your computer and use it in GitHub Desktop.
CORS proxy as Cloudflare worker
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
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