Lê o valor de um cookie específico pelo nome diretamente na rede global da Azion e o utiliza para moldar a resposta. Isso é útil para testes A/B, personalização ou qualquer lógica que dependa de dados que sua aplicação já armazena nos cookies do visitante.

const COOKIE_NAME = "hubspotutk"
function getCookie(request, name) {
let result = ""
const cookieString = request.headers.get("Cookie")
if (cookieString) {
const cookies = cookieString.split(";")
cookies.forEach(cookie => {
const cookiePair = cookie.split("=", 2)
const cookieName = cookiePair[0].trim()
if (cookieName === name) {
const cookieVal = cookiePair[1]
result = cookieVal
}
})
}
return result
}
function handleRequest(request) {
const cookie = getCookie(request, COOKIE_NAME)
if (cookie) {
return new Response(cookie)
}
return new Response("No cookie with name: " + COOKIE_NAME)
}
addEventListener("fetch", event => {
event.respondWith(handleRequest(event.request))
})

Como funciona

A função auxiliar getCookie lê o cabeçalho Cookie com request.headers.get("Cookie"), divide o conteúdo em pares individuais usando ; e separa cada par por = para comparar o nome do cookie com o desejado. Quando encontra uma correspondência, retorna o valor desse cookie. Em seguida, o handler do evento fetch chama getCookie e usa event.respondWith() com um novo Response, retornando o valor do cookie ou uma mensagem indicando que o cookie não estava presente.

Recursos relacionados