diff --git a/playwriter/src/cdp-relay.ts b/playwriter/src/cdp-relay.ts index 99396e6..b9fd938 100644 --- a/playwriter/src/cdp-relay.ts +++ b/playwriter/src/cdp-relay.ts @@ -360,23 +360,6 @@ export async function startPlayWriterCDPRelayServer({ port = 19988, host = '127. }) } - // Network.enable: Default to zero buffering to fix SSE streaming issues. - // CDP's Network domain buffers response bodies by default, which breaks ReadableStream - // for SSE/streaming responses. Setting maxTotalBufferSize: 0 disables this buffering. - // Agents can re-enable buffering by calling Network.disable then Network.enable with - // explicit buffer sizes if they need to read response bodies via Network.getResponseBody. - case 'Network.enable': { - const modifiedParams = { - maxTotalBufferSize: 0, - maxResourceBufferSize: 0, - ...params - } - return await sendToExtension({ - method: 'forwardCDPCommand', - params: { sessionId, method, params: modifiedParams } - }) - } - case 'Runtime.enable': { if (!sessionId) { break diff --git a/skills/playwriter/SKILL.md b/skills/playwriter/SKILL.md index 336c388..1ee170e 100644 --- a/skills/playwriter/SKILL.md +++ b/skills/playwriter/SKILL.md @@ -481,31 +481,6 @@ console.log(data); Clean up listeners when done: `page.removeAllListeners('request'); page.removeAllListeners('response');` -## reading response bodies - -By default, playwriter disables CDP response body buffering to ensure SSE streaming works properly. If you need to read response bodies (e.g., for HAR recording or inspecting API responses), re-enable buffering first: - -```js -// Get CDP session and re-enable Network buffering -const cdp = await getCDPSession({ page }); -await cdp.send('Network.disable'); -await cdp.send('Network.enable', { - maxTotalBufferSize: 10000000, // 10MB total buffer - maxResourceBufferSize: 5000000 // 5MB per resource -}); - -// Now use Playwright's response API - it will work because buffering is enabled -const [response] = await Promise.all([ - page.waitForResponse(resp => resp.url().includes('/api/data')), - page.click('button.load-data') -]); - -const body = await response.text(); // or response.json(), response.body() -console.log(body); -``` - -**Note**: This may cause SSE/streaming responses to buffer. Only enable when you specifically need response bodies. - ## capabilities Examples of what playwriter can do: