Use cookie and set-cookie-parser

This commit is contained in:
MemeCornucopia
2024-01-29 13:43:32 -05:00
parent c8ad3387c5
commit 8b149458e0
3 changed files with 46 additions and 12 deletions

View File

@@ -1,3 +1,6 @@
import cookie from 'cookie';
import setCookieParser from 'set-cookie-parser';
export interface Cookie {
name: string;
value: string;
@@ -5,18 +8,13 @@ export interface Cookie {
export function makeCookieHeader(cookies: Record<string, string>): string {
return Object.entries(cookies)
.map(([name, value]) => `${name}=${value}`)
.map(([name, value]) => cookie.serialize(name, value))
.join('; ');
}
export function parseSetCookie(headerValue: string): Record<string, Cookie> {
const cookies: Record<string, Cookie> = {};
const parts = headerValue.split(/; */);
for (const part of parts) {
const [name, value] = part.split('=');
if (name && value) {
cookies[name] = { name, value };
}
}
return cookies;
const parsedCookies = setCookieParser.parse(headerValue, {
map: true,
});
return parsedCookies;
}