Content-Type Cloudflare
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
/**
* @param {Request} request
*/
async function handleRequest(request) {
const response = await fetch(request)
var headers = new Headers();
for (var kv of response.headers.entries()) {
headers.append(kv[0], kv[1]);
}
const url = request.url
headers.set("Content-Type", get_content_type(url))
headers.set("x-julia-test", "edited headers!")
response.headers = headers
return new Response(response.body, {
status: response.status,
statusText: response.statusText,
headers: headers})
return response
}
function get_content_type(url) {
if (url.endsWith(".svg")) {
return "image/svg+xml"
} else if (url.endsWith(".png")) {
return "image/png"
} else if (url.endsWith(".jpg")) {
return "image/jpg"
} else if (url.endsWith(".css")) {
return "text/css"
} else if (url.endsWith(".pdf")) {
return "application/pdf"
} else if (url.endsWith(".js")) {
return "application/javascript"
} else if (url.endsWith(".json")) {
return "application/json"
} else if (url.endsWith(".xml")) {
return "text/xml"
} else if (url.endsWith(".txt")) {
return "text/plain; charset=UTF-8"
} else if (url.endsWith(".webmanifest")) {
return "application/manifest+json"
} else {
return "text/html; charset=UTF-8"
}
}
Public Last updated: 2021-07-31 07:09:15 AM