// Receive response from the origin
const response = await fetch(request);
// Create a new Headers object to modify response headers
const newHeaders = new Headers(response.headers);
// Get all Set-Cookie headers
const cookies = response.headers.get("Set-Cookie");
// Split the Set-Cookie headers
const cookieArray = cookies.split(/,(?=\s*[^;]+=[^;]+)/g);
const updatedCookies = cookieArray.map((cookie) => {
// For example, replace the currency value with GBP
if (cookie.trim().startsWith("currency=")) {
return cookie.replace(/currency=[^;]+/, "currency=GBP");
// Delete the existing Set-Cookie headers
newHeaders.delete("Set-Cookie");
// Add the updated Set-Cookie headers individually
updatedCookies.forEach((cookie) => {
newHeaders.append("Set-Cookie", cookie.trim());
// Return the modified response with updated headers
return new Response(response.body, {
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4