Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

http: writable set to false #28715

Closed
wants to merge 1 commit into from
Closed

Conversation

ronag
Copy link
Member

@ronag ronag commented Jul 16, 2019

This is another take on #15404 (comment).

Depends on #28681

Refs: #15029

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • tests and/or benchmarks are included
  • documentation is changed or added
  • commit message follows commit guidelines

@nodejs-github-bot nodejs-github-bot added the http Issues or PRs related to the http subsystem. label Jul 16, 2019
@ronag
Copy link
Member Author

ronag commented Jul 16, 2019

@mcollina as far as I understand the problem with the original fix (and probably this one) in #14024 causes regression in ecosystem. Are there test for that? How do I run those myself?

Copy link
Member

@mcollina mcollina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm -1 to adding _writableState property to OutgoingMessage.

@mcollina
Copy link
Member

@ronag this was it: https://github.com/SimenB/node-stream-repro/blob/master/index.js.

Essentially that writable property underpins both pump and pipeline.

doc/api/http.md Outdated Show resolved Hide resolved
@ronag
Copy link
Member Author

ronag commented Jul 16, 2019

@mcollina I've added a test. Assuming pipeline is pretty much the same as pump? this should work. Basically by adding a _writableState we can "fool" pipeline and eos to treat it differently/correctly.

@ronag ronag force-pushed the writable-finished branch 3 times, most recently from 5d1e99e to 236a814 Compare July 16, 2019 15:17
@mcollina
Copy link
Member

I've added a test. Assuming pipeline is pretty much the same as pump? this should work. Basically by adding a _writableState we can "fool" pipeline and eos to treat it differently/correctly.

I'm not convinced with this approach, adding a fake proxy is definitely going to break other things.

@ronag
Copy link
Member Author

ronag commented Jul 16, 2019

I'm not convinced with this approach, adding a fake proxy is definitely going to break other things.

Not much I can do with that. Is there any chance I can take a look at "other things" or is it too ambitious? Otherwise I guess this PR is closable.

@ronag ronag force-pushed the writable-finished branch 3 times, most recently from 26b6e88 to 6125ffe Compare July 16, 2019 15:27
@ronag
Copy link
Member Author

ronag commented Jul 16, 2019

This PR needs more work. However, if the idea of implementing _writableState to resolve the original issue is a no go I won't put further effort into this.

@jasnell jasnell added the wip Issues and PRs that are still a work in progress. label Jul 17, 2019
@ronag
Copy link
Member Author

ronag commented Aug 12, 2019

I don't remember what this is about anymore. Will get back to it in there future.

@ronag ronag closed this Aug 12, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
http Issues or PRs related to the http subsystem. wip Issues and PRs that are still a work in progress.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants