UNPKG

@cloudflare/puppeteer

Version:

Puppeteer fork for Cloudflare Browser Run (formerly Browser Rendering)

48 lines 1.61 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.WorkersWebSocketTransport = void 0; const util_js_1 = require("../common/util.js"); const version_js_1 = require("../generated/version.js"); const FAKE_HOST = 'https://fake.host'; class WorkersWebSocketTransport { ws; onmessage; onclose; sessionId; static async create(endpoint, sessionId) { const path = `${FAKE_HOST}/v1/devtools/browser/${sessionId}`; const response = await endpoint.fetch(path, { headers: { Upgrade: 'websocket', 'cf-brapi-client': `@cloudflare/puppeteer@${version_js_1.packageVersion}`, }, }); response.webSocket.accept(); return new WorkersWebSocketTransport(response.webSocket, sessionId); } constructor(ws, sessionId) { this.ws = ws; this.sessionId = sessionId; this.ws.addEventListener('message', async (event) => { this.onmessage?.(event.data); }); this.ws.addEventListener('close', () => { this.onclose?.(); }); this.ws.addEventListener('error', e => { const message = e.message || 'Unknown error'; (0, util_js_1.debugError)(`WebSocket error: SessionID: ${sessionId} - ${message}`); }); } send(message) { this.ws.send(message); } close() { this.ws.close(); } toString() { return this.sessionId; } } exports.WorkersWebSocketTransport = WorkersWebSocketTransport; //# sourceMappingURL=WorkersWebSocketTransport.js.map