Skip to main content
Glama
cookieManager.ts1.52 kB
import fs from 'fs'; import path from 'path'; import {Cookie} from 'playwright'; import logger from '../utils/logger'; export class CookieManager { private readonly cookiePath: string; constructor(cookiePath: string) { logger.info(`Initializing CookieManager with path: ${cookiePath}`); this.cookiePath = cookiePath; } async saveCookies(cookies: Cookie[]): Promise<void> { logger.info(`Saving ${cookies.length} cookies to ${this.cookiePath}`); const dir = path.dirname(this.cookiePath); if (!fs.existsSync(dir)) { logger.info(`Creating directory: ${dir}`); fs.mkdirSync(dir, {recursive: true}); } await fs.promises.writeFile(this.cookiePath, JSON.stringify(cookies, null, 2)); logger.info('Cookies saved successfully'); } async loadCookies(): Promise<Cookie[]> { if (!fs.existsSync(this.cookiePath)) { logger.info('No cookies file found, returning empty array'); return []; } logger.info(`Loading cookies from ${this.cookiePath}`); const data = await fs.promises.readFile(this.cookiePath, 'utf-8'); const cookies = JSON.parse(data); logger.info(`Loaded ${cookies.length} cookies`); return cookies; } async clearCookies(): Promise<void> { if (fs.existsSync(this.cookiePath)) { logger.info(`Clearing cookies at ${this.cookiePath}`); await fs.promises.unlink(this.cookiePath); logger.info('Cookies cleared successfully'); } else { logger.info('No cookies file found to clear'); } } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JonaFly/RedNote-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server