Skip to content

Instantly share code, notes, and snippets.

@lovasoa
Last active September 11, 2020 12:46
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 lovasoa/fa9c69ca8b69b546d72288123cac6ffe to your computer and use it in GitHub Desktop.
Save lovasoa/fa9c69ca8b69b546d72288123cac6ffe to your computer and use it in GitHub Desktop.
/**
* This is a cloudflare worker for dezoomify
*/
/**
* Respond to the request
* @param {Request} request
*/
async function handleRequest(request) {
const url = new URL(request.url);
const target_url = new URL(url.searchParams.get("url"));
let target_request = new Request(target_url, request);
target_request.headers.set("Origin", target_url.origin);
target_request.headers.set("Cookie", url.searchParams.get("Cookies").replace(/\n/, ''));
let response = await fetch(target_url);
response = new Response(response.body, response);
response.headers.set("X-Set-Cookie", response.headers.get("Set-Cookie"));
response.headers.delete("Set-Cookie");
return response;
}
/**
* Handle a fetch event
* @param {Error} error
*/
async function handleError(error) {
console.error(error);
return new Response(error.toString(), {status:500});
}
addEventListener('fetch', evt => {
const req = evt.request;
console.log(req.url);
let response = handleRequest(req).catch(handleError);
evt.respondWith(response);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment