Skip to content

Commit 3f45e47

Browse files
committed
Test body streams from readable-stream
Fixes #1503
1 parent e390b37 commit 3f45e47

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

package.json

+2
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
"@types/node-fetch": "^2.5.8",
6767
"@types/pem": "^1.9.5",
6868
"@types/pify": "^5.0.0",
69+
"@types/readable-stream": "^2.3.9",
6970
"@types/request": "^2.48.5",
7071
"@types/sinon": "^9.0.9",
7172
"@types/tough-cookie": "^4.0.0",
@@ -86,6 +87,7 @@
8687
"p-event": "^4.2.0",
8788
"pem": "^1.14.4",
8889
"pify": "^5.0.0",
90+
"readable-stream": "^3.6.0",
8991
"request": "^2.88.2",
9092
"sinon": "^9.2.4",
9193
"slow-stream": "0.0.4",

test/stream.ts

+18
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import {promisify} from 'util';
22
import * as fs from 'fs';
33
import {PassThrough as PassThroughStream, Readable as ReadableStream} from 'stream';
4+
import {Readable as Readable2} from 'readable-stream';
45
import * as stream from 'stream';
56
import test from 'ava';
67
import {Handler} from 'express';
@@ -452,6 +453,23 @@ test('does not accept unreadable stream as body', withServer, async (t, server,
452453
// TODO: Add assert message above.
453454
});
454455

456+
test('accepts readable-stream as body', withServer, async (t, server, got) => {
457+
server.post('/', (request, response) => {
458+
request.pipe(response);
459+
});
460+
461+
const body = new Readable2({
462+
read() {
463+
this.push('ok');
464+
this.push(null);
465+
}
466+
});
467+
468+
const response = await got.post({body});
469+
470+
t.is(response.body, 'ok');
471+
});
472+
455473
if (Number.parseInt(process.versions.node.split('.')[0]!, 10) <= 12) {
456474
test('does not emit end event on error', withServer, async (t, server, got) => {
457475
server.get('/', infiniteHandler);

0 commit comments

Comments
 (0)