browserify / browserify/http-browserify
Response inherits from Stream instead of Stream.Readable (requiring request module browserify workaround)
- Dominant language
- JavaScript
- Stars
- 245
- Forks
- 104
- PR merge metrics
- No merged PRs in 30d
Description
On node.js, the HTTP response object (which is named IncomingMessage in node.js) [inherits from Stream.Readable](https://github.com/request/request/commit/6ebd748a02a49976d41ebbc4f8396acf8fda1c14):
``` javascript
util.inherits(IncomingMessage, Stream.Readable);
```
but in http-browserify, it [only inherits from Stream](https://github.com/joyent/node/blob/1781c8b85bbabc4c5c1e054bd5c50903cc0eb47b/lib/_http_incoming.js#L80):
``` javascript
util.inherits(Response, Stream);
```
This means the full stream API is not available as it is in Node, including the [.resume](http://nodejs.org/api/stream.html#stream_readable_resume)() method. I believe this is the reason for [this ](https://github.com/request/request/commit/6ebd748a02a49976d41ebbc4f8396acf8fda1c14) [hack](https://github.com/request/request/blob/a60482bf06b7e16d3cdbabcdee7f0b62d93117c2/request.js#L973-975) in the [request](http://github.com/request/request) module:
``` javascript
} else if (response.resume) {
// response.resume should be defined, but check anyway before calling.
// Workaround for browserify.
response.resume()
}
```
to improve compatibility would it be possible for http-browserify Response to inherit from Stream.Readable? (are there any other changes needed than changing the utils.inherits call?)
edit: Stream is old-style (pre-0.10); this amounts to converting http-browserify to [Streams2](https://rawgit.com/rvagg/rvagg.github.com/master/2014/06/why-i-dont-use-nodes-core-stream-module.html)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.