Thêm HTTP header vào Wap4 bằng Cloudflare Workers

By Dai, 884 View
#TOP
Vd thêm Access-Control-Allow-Origin


let 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"
 }
} 
Gill, Thanh Tam đã thích bài viết này

0 comments:

  1. Chưa có bình luận nào, hãy là người đầu tiên!