0

我们有一个 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
`;
4

0 回答 0