// processes request to https://example.com/foo.json
export default {
async fetch(request) {
const url = new URL(request.url);
const cacheKey = `https://${url.hostname}${url.pathname}`;
const headers = new Headers(request.headers);
headers.set("x-foo", url.host);
# rewrite host so that we proxy to origin
url.host = 'originserver.com'
let response = await fetch(url.toString(), {
cf: {
cacheKey: cacheKey,
cacheTtl: cacheTtlSec,
cacheEverything: true,
cacheTtlByStatus: {
'100-199': 0,
'200-299': cacheTtlSec,
'300-599': 0,
}
},
headers: headers,
});
response = new Response(response.body, response);
return response;
},
};
// processes request to https://example.com/foo.json
export default {
async fetch(request) {
const url = new URL(request.url);
const cacheKey = `https://${url.hostname}${url.pathname}`;
const headers = new Headers(request.headers);
headers.set("x-foo", url.host);
# rewrite host so that we proxy to origin
url.host = 'originserver.com'
let response = await fetch(url.toString(), {
cf: {
cacheKey: cacheKey,
cacheTtl: cacheTtlSec,
cacheEverything: true,
cacheTtlByStatus: {
'100-199': 0,
'200-299': cacheTtlSec,
'300-599': 0,
}
},
headers: headers,
});
response = new Response(response.body, response);
return response;
},
};