remove Network.enable buffering override
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user