Skip to content

Commit 77cceba

Browse files
committed
feat: export cookie utility methods
1 parent fde88db commit 77cceba

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

packages/cloudflare/src/modules/cookies/cookies.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import type { CookieStore } from "./types";
1313
export function cookies(): CookieStore {
1414
const headersList = headers();
1515
const cookieHeader = headersList.get("Cookie") ?? "";
16-
const cookieValuesByName = readCookieHeader(cookieHeader.replace(/;$/, ""));
16+
const cookieValuesByName = parseCookieHeader(cookieHeader.replace(/;$/, ""));
1717

1818
const cookieMap = new Map<string, Cookie>();
1919
const responseHeaders = response().headers;
@@ -26,7 +26,7 @@ export function cookies(): CookieStore {
2626

2727
function updateResponseCookiesFromMap() {
2828
const cookieHeader = responseHeaders.get("Set-Cookie") ?? "";
29-
const responseCookies = parseResponseCookies(cookieHeader);
29+
const responseCookies = parseSetCookieHeader(cookieHeader);
3030

3131
/** Add any extra set-cookie headers that were added during the request by the consumer */
3232
responseCookies.forEach((cookie, name) => {
@@ -36,7 +36,7 @@ export function cookies(): CookieStore {
3636
responseHeaders.delete("Set-Cookie");
3737

3838
for (const [name, cookie] of cookieMap.entries()) {
39-
if (isDeleted(cookie)) cookieMap.delete(name);
39+
if (isCookieDeleted(cookie)) cookieMap.delete(name);
4040
responseHeaders.append("Set-Cookie", cookie.serialize());
4141
}
4242
}
@@ -108,16 +108,16 @@ export function cookies(): CookieStore {
108108
});
109109
}
110110

111-
function isDeleted({ attributes }: Cookie) {
111+
export function isCookieDeleted({ attributes }: Cookie): boolean {
112112
return (
113113
attributes.maxAge === 0 ||
114-
(attributes.expires && !isWithinExpirationDate(attributes.expires))
114+
(!!attributes.expires && !isWithinExpirationDate(attributes.expires))
115115
);
116116
}
117117

118-
function readCookieHeader(cookie: string) {
118+
export function parseCookieHeader(cookieHeader: string): Map<string, string> {
119119
try {
120-
return parseCookies(cookie.trim());
120+
return parseCookies(cookieHeader.trim());
121121
} catch (error) {
122122
if (error instanceof URIError) {
123123
return new Map<string, string>();
@@ -128,8 +128,8 @@ function readCookieHeader(cookie: string) {
128128
}
129129
}
130130

131-
function parseResponseCookies(header: string): Map<string, Cookie> {
132-
const split = parseSetCookie.splitCookiesString(header);
131+
export function parseSetCookieHeader(header: string): Map<string, Cookie> {
132+
const split = parseSetCookie.splitCookiesString(header.trim());
133133
const parsedCookies = parseSetCookie(split);
134134
const cookies = new Map(
135135
parsedCookies.map(({ name, value, sameSite, ...attributes }) => {

0 commit comments

Comments
 (0)