name + domain + pathを一意のキーとして、Cookieオブジェクトセットを管理します。new Cookies(cookieStr?: string, isSetCookie?: boolean): Cookies;
パラメータ名 | タイプ | 必須 | 説明 |
cookieStr | string | いいえ | |
isSetCookie | boolean | いいえ |
cookies.get(name?: string): null | Cookie | Array<Cookie>;
パラメータ名 | タイプ | 必須 | 説明 |
name | string | いいえ | Cookie 名。値の説明は以下のとおりです。 デフォルトのname すべてのCookieオブジェクトを取得することを示します。 指定されたname |
属性名 | タイプ | 読み取り専用 | 説明 |
name | string | はい | Cookie の名前。 |
value | string | はい | Cookie の値。 |
domain | string | はい | Cookie の作用ドメイン。 |
path | string | はい | Cookie の作用パス。 |
expires | string | はい | |
max_age | string | はい | Cookie は max_age 秒経過後に失効します。単位は秒(s)です。 |
samesite | string | はい | Cookie のクロスサイトリクエストフォージェリ(CSRF)攻撃に対する保護を制御します。 |
httponly | boolean | はい | JavaScript による Cookie へのアクセスを禁止し、HTTP リクエストでのみ送信されます。 |
secure | boolean | はい | Cookie は HTTPS リクエストプロトコルでのみ送信されます。 |
cookies.set(name: string, value: string, options?: Cookie): boolean;
name + domain + pathを一意のキーとして、Cookieを上書き追加します。cookies.append(name: string, value: string, options?: Cookie): boolean;
name + domain + pathを一意のキーとしてCookieを追加します。cookies.remove(name: string, options?: Cookie): boolean;
name + domain + pathを一意のキーとしてCookieを削除します。 \\" ( ) , / : ; < = > ? @ [ ] \\\\ { }、0x00~0x1F、0x7F~0xFFが含まれる場合、自動的にエスケープされます。 , 、 ; \\" \\\\、0x00~0x1F、0x7F~0xFFが含まれる場合、自動的にエスケープされます。value、domain、path、expires、max_age、samesiteの合計サイズは1KBを超えません。function handleEvent(event) {const request = event.request;// Cookieリクエストヘッダーを解析します(不正なフラグメントは自動的に無視されます)const cookies = new Cookies(request.headers.get('Cookie') || '');// ログイン状態マークcookieを読み取ります。// getはnull / 単一のCookie / Cookie配列(同名重複)を返す可能性があります。const loginState = cookies.get('login_state');const loggedIn = loginState !== null &&!Array.isArray(loginState) &&loginState.value === '1';if (!loggedIn) {// 未ログイン:ログインページにリダイレクトし、リターンアドレスを付与します。const backUrl = encodeURIComponent(request.url);return event.respondWith(Response.redirect(`https://www.example.com/login?back_url=${backUrl}`, 302));}// ログイン済み:オリジンへのアクセスを許可します。return;}
フィードバック