| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- // src/helper/cookie/index.ts
- import { parse, parseSigned, serialize, serializeSigned } from "../../utils/cookie.js";
- var getCookie = (c, key, prefix) => {
- const cookie = c.req.raw.headers.get("Cookie");
- if (typeof key === "string") {
- if (!cookie) {
- return void 0;
- }
- let finalKey = key;
- if (prefix === "secure") {
- finalKey = "__Secure-" + key;
- } else if (prefix === "host") {
- finalKey = "__Host-" + key;
- }
- const obj2 = parse(cookie, finalKey);
- return obj2[finalKey];
- }
- if (!cookie) {
- return {};
- }
- const obj = parse(cookie);
- return obj;
- };
- var getSignedCookie = async (c, secret, key, prefix) => {
- const cookie = c.req.raw.headers.get("Cookie");
- if (typeof key === "string") {
- if (!cookie) {
- return void 0;
- }
- let finalKey = key;
- if (prefix === "secure") {
- finalKey = "__Secure-" + key;
- } else if (prefix === "host") {
- finalKey = "__Host-" + key;
- }
- const obj2 = await parseSigned(cookie, secret, finalKey);
- return obj2[finalKey];
- }
- if (!cookie) {
- return {};
- }
- const obj = await parseSigned(cookie, secret);
- return obj;
- };
- var generateCookie = (name, value, opt) => {
- let cookie;
- if (opt?.prefix === "secure") {
- cookie = serialize("__Secure-" + name, value, { path: "/", ...opt, secure: true });
- } else if (opt?.prefix === "host") {
- cookie = serialize("__Host-" + name, value, {
- ...opt,
- path: "/",
- secure: true,
- domain: void 0
- });
- } else {
- cookie = serialize(name, value, { path: "/", ...opt });
- }
- return cookie;
- };
- var setCookie = (c, name, value, opt) => {
- const cookie = generateCookie(name, value, opt);
- c.header("Set-Cookie", cookie, { append: true });
- };
- var generateSignedCookie = async (name, value, secret, opt) => {
- let cookie;
- if (opt?.prefix === "secure") {
- cookie = await serializeSigned("__Secure-" + name, value, secret, {
- path: "/",
- ...opt,
- secure: true
- });
- } else if (opt?.prefix === "host") {
- cookie = await serializeSigned("__Host-" + name, value, secret, {
- ...opt,
- path: "/",
- secure: true,
- domain: void 0
- });
- } else {
- cookie = await serializeSigned(name, value, secret, { path: "/", ...opt });
- }
- return cookie;
- };
- var setSignedCookie = async (c, name, value, secret, opt) => {
- const cookie = await generateSignedCookie(name, value, secret, opt);
- c.header("set-cookie", cookie, { append: true });
- };
- var deleteCookie = (c, name, opt) => {
- const deletedCookie = getCookie(c, name, opt?.prefix);
- setCookie(c, name, "", { ...opt, maxAge: 0 });
- return deletedCookie;
- };
- export {
- deleteCookie,
- generateCookie,
- generateSignedCookie,
- getCookie,
- getSignedCookie,
- setCookie,
- setSignedCookie
- };
|