UNPKG

puppeteer-extra-plugin-session

Version:

A puppeteer plugin to dump and inject session data.

34 lines 1.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CookieStorageProvider = void 0; const zod_1 = require("zod"); const storage_provider_1 = require("../classes/storage-provider"); const schemas_1 = require("../schemas"); class CookieStorageProvider extends storage_provider_1.StorageProvider { get name() { return storage_provider_1.StorageProviderName.Cookie; } async get(page) { const session = await page.target().createCDPSession(); const resp = await session.send('Network.getAllCookies'); await session.detach(); /** * @see https://chromedevtools.github.io/devtools-protocol/tot/Network/#method-getAllCookies */ const parsed = zod_1.z.object({ cookies: zod_1.z.array(schemas_1.CDPCookieSchema) }).parse(resp); return JSON.stringify(parsed.cookies); } async set(page, data) { const session = await page.target().createCDPSession(); const parsed = zod_1.z.array(schemas_1.CDPCookieParam).parse(JSON.parse(data)); /** * @see https://chromedevtools.github.io/devtools-protocol/tot/Network/#method-setCookies */ await session.send('Network.setCookies', { cookies: parsed, }); await session.detach(); } } exports.CookieStorageProvider = CookieStorageProvider; //# sourceMappingURL=cookies.js.map