### Usage
Same as `proxy`, but it will only work on instagram URLs in the format: `https://www.instagram.com/p/{POST_ID}/`.
+
+## cors
+
+This reverse proxy injects permissive CORS response headers to a response. Useful to use APIs that have not enabled CORS.
+
+### Usage
+
+Same as `proxy`.
--- /dev/null
+async function handleRequest(request) {
+ const url = new URL(request.url);
+ const queryString = decodeURIComponent(url.search.substring(1));
+
+ let response = await fetch(queryString);
+ response = new Response(response.body, response);
+ response.headers.set('Access-Control-Allow-Origin', '*');
+ response.headers.set('Access-Control-Allow-Headers', '*');
+ response.headers.set('Access-Control-Allow-Methods', '*');
+ response.headers.set('Access-Control-Expose-Headers', '*');
+ response.headers.set('Access-Control-Max-Age', '86400');
+
+ return response;
+}
+
+addEventListener('fetch', event => {
+ event.respondWith(handleRequest(event.request));
+})
--- /dev/null
+{
+ "name": "cors",
+ "version": "0.1.0",
+ "description": "This reverse proxy injects permissive CORS response headers to a response.",
+ "private": true,
+ "main": "index.js",
+ "scripts": {
+ "login": "wrangler login",
+ "preview": "wrangler preview",
+ "build": "wrangler build",
+ "publish": "wrangler publish"
+ },
+ "author": "Ardis Lu",
+ "license": "ISC",
+ "devDependencies": {
+ "@cloudflare/wrangler": "^1.16.1"
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/ardislu/cloudflare-workers.git"
+ }
+}