Spaces:
Runtime error
Runtime error
export function parseCookies(cookieHeader: string | null) { | |
const cookies: Record<string, string> = {}; | |
if (!cookieHeader) { | |
return cookies; | |
} | |
// Split the cookie string by semicolons and spaces | |
const items = cookieHeader.split(';').map((cookie) => cookie.trim()); | |
items.forEach((item) => { | |
const [name, ...rest] = item.split('='); | |
if (name && rest.length > 0) { | |
// Decode the name and value, and join value parts in case it contains '=' | |
const decodedName = decodeURIComponent(name.trim()); | |
const decodedValue = decodeURIComponent(rest.join('=').trim()); | |
cookies[decodedName] = decodedValue; | |
} | |
}); | |
return cookies; | |
} | |
export function getApiKeysFromCookie(cookieHeader: string | null): Record<string, string> { | |
const cookies = parseCookies(cookieHeader); | |
return cookies.apiKeys ? JSON.parse(cookies.apiKeys) : {}; | |
} | |
export function getProviderSettingsFromCookie(cookieHeader: string | null): Record<string, any> { | |
const cookies = parseCookies(cookieHeader); | |
return cookies.providers ? JSON.parse(cookies.providers) : {}; | |
} | |