问题描述
我们有一个Cloudflare Enterprise计划,并希望将regionCode(状态缩写)传递到报头响应中并返回给客户端。 Cloudflare请求是req.cf.regionCode,但是由于任何原因,当我尝试将其分配给变量时,都会不断出现错误,因此语法有问题。
最终标头输出应为:
状态:CA(将显示客户端IP查找中的状态缩写,在这种情况下为加利福尼亚)
addEventListener("fetch",event => {
event.respondWith(fetchAndReplace(event.request))
})
async function fetchAndReplace(request) {
const res = await fetch(request)
let modifiedHeaders = new Headers()
let state = (req.cf.regionCode)
modifiedHeaders.set('Content-Type','text/html')
modifiedHeaders.append('Pragma','no-cache')
modifiedHeaders.append("state",`${state}`)
//Return maint page if you're not calling from a trusted UA
if (request.headers.get("User-Agent") !== "Preprod")
{
// Return modified response.
return new Response(maintPage,{
status: 503,headers: modifiedHeaders
})
}
else //Allow users from trusted into site
{
//Fire all other requests directly to our WebServers
return fetch(request)
}
}
let maintPage = `
This is a test
`;
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)