コンテンツにスキップ

A/B テストに使用するためにクッキーに日付を追加する

クッキーの有効期限とテストグループを動的に設定します。

export default {
async fetch(request) {
const response = await fetch(request);
// レスポンスをクローンして、もはや不変ではなくします
const newResponse = new Response(response.body, response);
// 動的な有効期限を定義します。24 時間 * 60 分 * 60 秒 * 1000 ミリ秒 = 86,400,000 ミリ秒
const expiry = new Date(Date.now() + 7 * 86400000).toUTCString();
// グループ変数を定義します。"premium" の場合は "A"、それ以外の場合は "B"。
const group = request.headers.get("userGroup") == "premium" ? "A" : "B";
// 値を持つカスタムヘッダーを追加します
newResponse.headers.append(
"Set-Cookie",
`testGroup=${group}; Expires=${expiry}; Path=/`,
);
return newResponse;
},
};