Thêm HTTP header vào Wap4 bằng Cloudflare Workers
#TOP
Vd thêm Access-Control-Allow-Originlet addHeaders = {
"Access-Control-Allow-Origin": "*"
}
let removeHeaders = [
]
addEventListener("fetch", event => {
event.respondWith(fetchAndApply(event.request))
})
async function fetchAndApply(request) {
// Fetch the original page from the origin
let response = await fetch(request)
// Make response headers mutable
response = new Response(response.body, response)
// Set each header in addHeaders
Object.keys(addHeaders).map(function(name, index) {
response.headers.set(name, addHeaders[name])
})
// Delete each header in removeHeaders
removeHeaders.forEach(function(name){
response.headers.delete(name)
})
// Return the new mutated page
return response
}
khác (lưu trữ, chứ không liên quan)
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 {
return "text/html; charset=UTF-8"
}
}
0 comments: