From 436600f9db8cd3719a14a5d62d26f9d085182a80 Mon Sep 17 00:00:00 2001 From: Vsevolod Strukchinsky Date: Tue, 12 Jan 2016 12:52:06 +0500 Subject: [PATCH] backport duplexer2 from 6.0.0 Closes #152 --- index.js | 11 +++++++---- package.json | 3 ++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/index.js b/index.js index b100e67..ec7cb4f 100644 --- a/index.js +++ b/index.js @@ -5,7 +5,8 @@ var https = require('https'); var urlLib = require('url'); var querystring = require('querystring'); var objectAssign = require('object-assign'); -var duplexify = require('duplexify'); +var PassThrough = require('readable-stream').PassThrough; +var duplexer2 = require('duplexer2'); var isStream = require('is-stream'); var readAllStream = require('read-all-stream'); var timedOut = require('timed-out'); @@ -140,7 +141,9 @@ function asPromise(opts) { } function asStream(opts) { - var proxy = duplexify(); + var input = new PassThrough(); + var output = new PassThrough(); + var proxy = duplexer2(input, output); if (opts.json) { throw new Error('got can not be used as stream when options.json is used'); @@ -168,7 +171,7 @@ function asStream(opts) { } if (opts.method === 'POST' || opts.method === 'PUT' || opts.method === 'PATCH') { - proxy.setWritable(req); + input.pipe(req); return; } @@ -178,7 +181,7 @@ function asStream(opts) { ee.on('response', function (res) { var statusCode = res.statusCode; - proxy.setReadable(res); + res.pipe(output); if (statusCode < 200 || statusCode > 299) { proxy.emit('error', new got.HTTPError(statusCode, opts), null, res); diff --git a/package.json b/package.json index b6a63b3..b28762f 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ ], "dependencies": { "create-error-class": "^2.0.0", - "duplexify": "^3.2.0", + "duplexer2": "^0.1.4", "is-plain-obj": "^1.0.0", "is-redirect": "^1.0.0", "is-stream": "^1.0.0", @@ -56,6 +56,7 @@ "parse-json": "^2.1.0", "pinkie-promise": "^2.0.0", "read-all-stream": "^3.0.0", + "readable-stream": "^2.0.5", "timed-out": "^2.0.0", "unzip-response": "^1.0.0", "url-parse-lax": "^1.0.0"