Response inherits from Stream instead of Stream.Readable (requiring request module browserify workaround)
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 38/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- javascript, node.js
- Domain
- web-dev
Research direction
Start at the http-browserify Response definition and its util.inherits call, then compare it with Node's IncomingMessage inheritance shown in the issue. Check the request.js workaround and determine whether converting Response to Streams2 requires changes beyond inheritance. Done means the browser response exposes the expected Readable API, including resume(), without that compatibility workaround.
Written by the indexing model from the issue text.
Description
On node.js, the HTTP response object (which is named IncomingMessage in node.js) inherits from Stream.Readable:
util.inherits(IncomingMessage, Stream.Readable);
but in http-browserify, it only inherits from Stream:
util.inherits(Response, Stream);
This means the full stream API is not available as it is in Node, including the .resume() method. I believe this is the reason for this hack in the request module:
} 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
- Dominant language
- JavaScript
- Stars
- 245
- Forks
- 104
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from browserify/http-browserify
-
Difficulty 2/5 1-3 hours Newbie friendliness 52/100
browserify/http-browserify#107 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 42/100
browserify/http-browserify#104 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 48/100
browserify/http-browserify#102 ·
-
Needs Maintainer Open
Difficulty 5/5 Over a week Newbie friendliness 15/100
browserify/http-browserify#99 · 2 reactions ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 38/100
browserify/http-browserify#96 · 2 comments · 1 reaction ·
All issues in browserify/http-browserify
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
palladius/rails8-app-on-gcp#145 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
dotenvx/dotenv-vscode#139 ·
-
test-change-proposal
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
web-platform-tests/interop#1455 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
corsairdev/corsair#1764 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100