Currently, Route.fulfill only accepts string|Buffer as body type. Add nodejs type ReadableStream to permit streamed calls.
Example
const bodyStream = new Readable();
await page.route('**/*', async route => {
route.fulfill({
status: 200,
contentType: 'application/grpc-web+proto',
body: bodyStream
});
});
// @todo interact with page
bodyStream.push(chunk);
// @todo assert on DOM state
bodyStream.push(chunk);
// @todo assert on updated DOM state
bodyStream.destroy();
// @todo assert request completed
Motivation
There are several use-cases where this is useful:
stubbing grpc-web calls that are server streaming - the test script could push events into the stream and assert the expected in-progress result is displayed in the webview
🚀 Feature Request
Currently,
Route.fulfill
only acceptsstring|Buffer
as body type. Add nodejs typeReadableStream
to permit streamed calls.Example
Motivation
There are several use-cases where this is useful: