Download packages/server/src/utils/cookieUtils.ts from QSLY/ghp: direct link, hf CLI and curl.
- Browser
- Download file 1.05 kB
-
https://huggingface.co/spaces/QSLY/ghp/resolve/main/packages/server/src/utils/cookieUtils.ts
- Command line
-
hf download hf://spaces/QSLY/ghp/packages/server/src/utils/cookieUtils.ts
-
curl -L -o cookieUtils.ts https://huggingface.co/spaces/QSLY/ghp/resolve/main/packages/server/src/utils/cookieUtils.ts
1.05 kB
| /** | |
| * Cookie 字符串解析工具 | |
| * 统一替代 kugouAuthService 和 tencentAuthService 中的重复实现 | |
| */ | |
| /** | |
| * 将 cookie 字符串解析为 key-value 对象 | |
| * @example parseCookieString('token=abc;userid=123') => { token: 'abc', userid: '123' } | |
| */ | |
| export function parseCookieString(cookie: string): Record<string, string> { | |
| const result: Record<string, string> = {} | |
| for (const pair of cookie.split(';')) { | |
| const eqIdx = pair.indexOf('=') | |
| if (eqIdx < 1) continue | |
| const key = pair.substring(0, eqIdx).trim() | |
| const value = pair.substring(eqIdx + 1).trim() | |
| result[key] = value | |
| } | |
| return result | |
| } | |
| /** | |
| * 从 cookie 字符串中快速提取单个 key 的值 | |
| * 比 parseCookieString 更高效(无需解析整个字符串) | |
| * @example getCookieValue('uin=123456; qm_keyst=abc', 'uin') => '123456' | |
| */ | |
| export function getCookieValue(cookie: string, key: string): string | null { | |
| const regex = new RegExp(`(?:^|;\\s*)${key}=([^;]*)`) | |
| const match = cookie.match(regex) | |
| return match ? match[1].trim() : null | |
| } | |