GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — http: add support for abortsignal to http.request by benjamingr · Pull Request #36048 · nodejs/node

Conversation

@benjamingr

@benjamingr benjamingr commented Nov 9, 2020

Copy link
Copy Markdown
Member

cc @mcollina @jasnell @addaleax

This is the last one from #35877 (comment) - if you have any more APIs you want me to add support for AbortSignal in before I go back to that list I started making back then please let me know :]

Also we should talk about streams and this probably.

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

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

lundibundi, bricss, gioragutt, and yotam707 reacted with hooray emoji
All reactions
  • 🎉 4 reactions
@nodejs-github-bot

nodejs-github-bot commented Nov 9, 2020

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/http
  • @nodejs/net
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@nodejs-github-bot nodejs-github-bot added the http Issues and PRs related to the http subsystem. label Nov 9, 2020
@benjamingr
benjamingr requested a review from ronag November 9, 2020 10:53
@benjamingr benjamingr changed the title add support for abortsignal to http.request http: add support for abortsignal to http.request Nov 9, 2020
@benjamingr
benjamingr force-pushed the add-abortsignal-http-request branch from aa6a902 to bb957b5 Compare November 9, 2020 10:54
addaleax
addaleax approved these changes Nov 9, 2020
View reviewed changes
Comment thread test/parallel/test-http-client-abort-destroy.js Outdated
Comment on lines 77 to 78

@addaleax addaleax Nov 9, 2020

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

Suggested change
const server = http.createServer(common.mustNotCall((req, res) => {
}));
const server = http.createServer(common.mustNotCall());

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

benjamingr reacted with thumbs up emoji
All reactions
  • 👍 1 reaction
lundibundi
lundibundi approved these changes Nov 9, 2020
View reviewed changes
Comment thread doc/api/http.md Outdated

@lundibundi lundibundi Nov 9, 2020

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

Suggested change
Passing an `AbortSignal` and then calling `abort` on the corrosponding
Passing an `AbortSignal` and then calling `abort` on the corresponding

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

benjamingr reacted with thumbs up emoji
All reactions
  • 👍 1 reaction
Comment thread lib/_http_client.js Outdated

@lundibundi lundibundi Nov 9, 2020

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

Nit: perhaps use once here as well ({ once: true })?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@benjamingr benjamingr Nov 9, 2020

Copy link
Copy Markdown
Member Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

I feel like it would be more hacky since we're removing the listener below even if it is invoked since close should be fired.

If I pass once and someone abortss the controller - the signal will fire abort, the listener will be removed, then close will fire and we will try removing a non-existing listener which will technically be no harm but will be slightly confusing.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
rickyes
rickyes approved these changes Nov 9, 2020
View reviewed changes
Comment thread doc/api/http.md Outdated

@rickyes rickyes Nov 9, 2020

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

Suggested change
pr-url: https://github.com/nodejs/node/pull/319999
pr-url: https://github.com/nodejs/node/pull/36048

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

benjamingr reacted with thumbs up emoji
All reactions
  • 👍 1 reaction
Comment thread test/parallel/test-http-client-abort-destroy.js Outdated

@rickyes rickyes Nov 9, 2020

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

Suggested change
// destroy with AbortSignal
// Destroy with AbortSignal

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

benjamingr reacted with thumbs up emoji
All reactions
  • 👍 1 reaction
@benjamingr
benjamingr force-pushed the add-abortsignal-http-request branch from bb957b5 to 728d4ad Compare November 9, 2020 11:28
targos
targos reviewed Nov 9, 2020
View reviewed changes
Comment thread doc/api/http.md Outdated

@targos targos Nov 9, 2020

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

Suggested change
`AbortConttoller` will behave the same way as calling `.destroy()` on the
`AbortController` will behave the same way as calling `.destroy()` on the

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread lib/_http_client.js Outdated

@targos targos Nov 9, 2020

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

Should we extract the value in a variable to be safe? Options could be changed later or the property could be a getter that throws afterwards

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

benjamingr reacted with thumbs up emoji
All reactions
  • 👍 1 reaction
@benjamingr
benjamingr force-pushed the add-abortsignal-http-request branch from 728d4ad to 89c38be Compare November 9, 2020 11:39
@benjamingr benjamingr added the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Nov 9, 2020
@github-actions github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Nov 9, 2020
Trott
Trott approved these changes Nov 9, 2020
View reviewed changes
@benjamingr benjamingr added the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Nov 9, 2020
@github-actions github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Nov 9, 2020
mcollina
mcollina reviewed Nov 9, 2020
View reviewed changes
Comment thread lib/_http_client.js Outdated

@mcollina mcollina Nov 9, 2020

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

I would call .destroy() with an error.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@benjamingr benjamingr Nov 9, 2020

Copy link
Copy Markdown
Member Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

I... think you're right. If cancellation is abnormal elsewhere it should likely be abnormal termination here and abort with an AbortError with a .code

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@benjamingr benjamingr Nov 9, 2020

Copy link
Copy Markdown
Member Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

I... think I changed my mind again. Lol, I think calling .destroy without an error is probably right and the error the user is getting should probably be ECONNRESET and not an AbortError anyway.

I'd rather users get consistent errors on request aborts than always getting AbortErrors consistent errors when using AbortController.

I'm really not sure here tbh.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@mcollina mcollina Nov 9, 2020

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

cc @ronag

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@ronag ronag Nov 9, 2020

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

I don't think it will ECONNRESET if aborted before a socket is assigned.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@benjamingr benjamingr Nov 11, 2020

Copy link
Copy Markdown
Member Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

@ronag it does (there is a test for it)

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@benjamingr benjamingr Nov 11, 2020

Copy link
Copy Markdown
Member Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

cc @jasnell

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
ronag
ronag reviewed Nov 9, 2020
View reviewed changes

@ronag ronag left a comment •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

This is a bit weird to me... if we are going to do this isn't it better to just add signal support generically to streams?

I don't really see the point of this since streams have .destroy().

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@benjamingr

benjamingr commented Nov 9, 2020

Copy link
Copy Markdown
Member Author

if we are going to do this isn't it better to just add signal support generically to streams?

@ronag even if http.request returns a stream and we make those cancelable with signals, it should still take a signal as a parameter for ownership.

If we make stream.Readable cancellable with signals through a AbortSignal known symbol property or constructor parameter that would be useful but not help in this case since the stream isn't constructed by the user - it's just returned to the caller.

Allowing users to destroy an http.request (and other streams) by passing in a signal is very useful ergonomics wise. It's the same way users cancel other things (like timers) and the standard web platform cancellation mechanism.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@ronag

ronag commented Nov 9, 2020

Copy link
Copy Markdown
Member

Allowing users to destroy an http.request (and other streams) by passing in a signal is very useful ergonomics wise. It's the same way users cancel other things (like timers) and the standard web platform cancellation mechanism.

I don't quite see if but don't have a strong opinion. However, I do think if we do this we should do it on the streams level.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@benjamingr

benjamingr commented Nov 9, 2020 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member Author

I will follow up with a PR for readable

Edit: very much wip @ronag https://github.com/nodejs/node/compare/master...benjamingr:abort-signal-stream?expand=1 will make a PR sometime this week hopefully

ronag reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@benjamingr benjamingr added the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Nov 9, 2020
@github-actions github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Nov 9, 2020
@nodejs-github-bot

nodejs-github-bot commented Nov 9, 2020

Copy link
Copy Markdown
Collaborator

CI: https://ci.nodejs.org/job/node-test-pull-request/34261/

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@ronag

ronag commented Nov 9, 2020

Copy link
Copy Markdown
Member

Why not have this PR also destroy with lazyDOMException('The operation was aborted', 'AbortError')?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@benjamingr

benjamingr commented Nov 9, 2020

Copy link
Copy Markdown
Member Author

@ronag I think users would probably expect an ECONNRESET - no?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@nodejs-github-bot

nodejs-github-bot commented Nov 10, 2020

Copy link
Copy Markdown
Collaborator

CI: https://ci.nodejs.org/job/node-test-pull-request/34268/

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@MadaraUchiha MadaraUchiha mentioned this pull request Nov 10, 2020
http2: add support for AbortSignal to http2Session.request #36070
Closed
4 tasks done
@ronag

ronag commented Nov 11, 2020

Copy link
Copy Markdown
Member

@ronag I think users would probably expect an ECONNRESET - no?

Not necessarily. What about the case when aborting before 'socket'? I would not expect a ECONNRESET then.

I don't have a strong opinion.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@benjamingr

benjamingr commented Nov 11, 2020

Copy link
Copy Markdown
Member Author

@ronag the test here aborts synchronously, that is before socket iiuc.

Note I am not sure what's the right thing either - and also in http2, I don't understand the implications of why aborting with an error here would matter so if there is a good reason to .destroy with an error here (and in HTTP2) please let me know :]

My involvement in the project and willingness to do the work does not excuse my ignorance in this case. So if I'm missing something please let me know.

(The more general AbortSignal for Readable will .destroy with an error)

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@benjamingr benjamingr removed the blocked PRs that are blocked by other issues or PRs. label Nov 19, 2020
@nodejs-github-bot

nodejs-github-bot commented Nov 19, 2020

Copy link
Copy Markdown
Collaborator

CI: https://ci.nodejs.org/job/node-test-pull-request/34462/

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@nodejs-github-bot

nodejs-github-bot commented Nov 19, 2020

Copy link
Copy Markdown
Collaborator

CI: https://ci.nodejs.org/job/node-test-pull-request/34464/

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@nodejs-github-bot

nodejs-github-bot commented Nov 19, 2020

Copy link
Copy Markdown
Collaborator

CI: https://ci.nodejs.org/job/node-test-pull-request/34466/

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@benjamingr benjamingr added the commit-queue PRs queued for automated landing through the Commit Queue. label Nov 19, 2020
@github-actions github-actions Bot removed the commit-queue PRs queued for automated landing through the Commit Queue. label Nov 19, 2020
@github-actions

github-actions Bot commented Nov 19, 2020

Copy link
Copy Markdown
Contributor

Landed in a46b21f...2097ffd

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@github-actions github-actions Bot closed this Nov 19, 2020
nodejs-github-bot pushed a commit that referenced this pull request Nov 19, 2020
@benjamingr @nodejs-github-bot
http: add support for abortsignal to http.request
2097ffd
PR-URL: #36048
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Denys Otrishko <[email protected]>
Reviewed-By: Ricky Zhou <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
MadaraUchiha added a commit to MadaraUchiha/node that referenced this pull request Nov 21, 2020
@MadaraUchiha
http2: Abort calls destroy with an AbortError
dc99724
- Builds on nodejs#36048 and nodejs#36084
- Modify test to verify this fact
codebytere pushed a commit that referenced this pull request Nov 22, 2020
@benjamingr @codebytere
http: add support for abortsignal to http.request
8390f8a
PR-URL: #36048
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Denys Otrishko <[email protected]>
Reviewed-By: Ricky Zhou <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
codebytere added a commit that referenced this pull request Nov 22, 2020
@codebytere
2020-11-24, Version 15.3.0 (Current)
ac213a0
Notable changes:

dns:
  * (SEMVER-MINOR) add a cancel() method to the promise Resolver (Szymon Marczak) #33099
events:
  * (SEMVER-MINOR) add max listener warning for EventTarget (James M Snell) #36001
http:
  * (SEMVER-MINOR) add support for abortsignal to http.request (Benjamin Gruenbaum) #36048
http2:
  * (SEMVER-MINOR) allow setting the local window size of a session (Yongsheng Zhang) #35978
lib:
  * (SEMVER-MINOR) add throws option to fs.f/l/statSync (Andrew Casey) #33716
path:
  * (SEMVER-MINOR) add `path/posix` and `path/win32` alias modules (ExE Boss) #34962
readline:
  * (SEMVER-MINOR) add getPrompt to get the current prompt (Mattias Runge-Broberg) #33675
src:
  * (SEMVER-MINOR) add loop idle time in diagnostic report (Gireesh Punathil) #35940
util:
  * (SEMVER-MINOR) add `util/types` alias module (ExE Boss) #34055

PR-URL: TODO
@codebytere codebytere mentioned this pull request Nov 22, 2020
v15.3.0 proposal #36232
Merged
codebytere added a commit that referenced this pull request Nov 24, 2020
@codebytere
2020-11-24, Version 15.3.0 (Current)
636a649
Notable changes:

dns:
  * (SEMVER-MINOR) add a cancel() method to the promise Resolver (Szymon Marczak) #33099
events:
  * (SEMVER-MINOR) add max listener warning for EventTarget (James M Snell) #36001
http:
  * (SEMVER-MINOR) add support for abortsignal to http.request (Benjamin Gruenbaum) #36048
http2:
  * (SEMVER-MINOR) allow setting the local window size of a session (Yongsheng Zhang) #35978
lib:
  * (SEMVER-MINOR) add throws option to fs.f/l/statSync (Andrew Casey) #33716
path:
  * (SEMVER-MINOR) add `path/posix` and `path/win32` alias modules (ExE Boss) #34962
readline:
  * (SEMVER-MINOR) add getPrompt to get the current prompt (Mattias Runge-Broberg) #33675
src:
  * (SEMVER-MINOR) add loop idle time in diagnostic report (Gireesh Punathil) #35940
util:
  * (SEMVER-MINOR) add `util/types` alias module (ExE Boss) #34055

PR-URL: TODO
codebytere added a commit that referenced this pull request Nov 24, 2020
@codebytere
2020-11-24, Version 15.3.0 (Current)
63e7dc1
Notable changes:

dns:
  * (SEMVER-MINOR) add a cancel() method to the promise Resolver (Szymon Marczak) #33099
events:
  * (SEMVER-MINOR) add max listener warning for EventTarget (James M Snell) #36001
http:
  * (SEMVER-MINOR) add support for abortsignal to http.request (Benjamin Gruenbaum) #36048
http2:
  * (SEMVER-MINOR) allow setting the local window size of a session (Yongsheng Zhang) #35978
lib:
  * (SEMVER-MINOR) add throws option to fs.f/l/statSync (Andrew Casey) #33716
path:
  * (SEMVER-MINOR) add `path/posix` and `path/win32` alias modules (ExE Boss) #34962
readline:
  * (SEMVER-MINOR) add getPrompt to get the current prompt (Mattias Runge-Broberg) #33675
src:
  * (SEMVER-MINOR) add loop idle time in diagnostic report (Gireesh Punathil) #35940
util:
  * (SEMVER-MINOR) add `util/types` alias module (ExE Boss) #34055

PR-URL: #36232
codebytere added a commit that referenced this pull request Nov 24, 2020
@codebytere
2020-11-24, Version 15.3.0 (Current)
7b5b8ef
Notable changes:

dns:
  * (SEMVER-MINOR) add a cancel() method to the promise Resolver (Szymon Marczak) #33099
events:
  * (SEMVER-MINOR) add max listener warning for EventTarget (James M Snell) #36001
http:
  * (SEMVER-MINOR) add support for abortsignal to http.request (Benjamin Gruenbaum) #36048
http2:
  * (SEMVER-MINOR) allow setting the local window size of a session (Yongsheng Zhang) #35978
lib:
  * (SEMVER-MINOR) add throws option to fs.f/l/statSync (Andrew Casey) #33716
path:
  * (SEMVER-MINOR) add `path/posix` and `path/win32` alias modules (ExE Boss) #34962
readline:
  * (SEMVER-MINOR) add getPrompt to get the current prompt (Mattias Runge-Broberg) #33675
src:
  * (SEMVER-MINOR) add loop idle time in diagnostic report (Gireesh Punathil) #35940
util:
  * (SEMVER-MINOR) add `util/types` alias module (ExE Boss) #34055

PR-URL: #36232
@targos targos added the backport-open-v14.x label Apr 24, 2021
@targos targos mentioned this pull request Apr 24, 2021
[v14.x] Backport AbortController and friends #38386
Closed
targos pushed a commit to targos/node that referenced this pull request Apr 30, 2021
@benjamingr @targos
http: add support for abortsignal to http.request
e8bd59c
PR-URL: nodejs#36048
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Denys Otrishko <[email protected]>
Reviewed-By: Ricky Zhou <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
targos pushed a commit that referenced this pull request Apr 30, 2021
@benjamingr @targos
http: add support for abortsignal to http.request
524b713
PR-URL: #36048
Backport-PR-URL: #38386
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Denys Otrishko <[email protected]>
Reviewed-By: Ricky Zhou <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
@targos targos added backported-to-v14.x and removed backport-open-v14.x labels Apr 30, 2021
@danielleadams danielleadams mentioned this pull request May 3, 2021
v14.17.0 proposal #38507
Merged
@aicanfly aicanfly mentioned this pull request May 25, 2021
Error: socket hang up with 15.7.0 or newer #37510
Closed
@coderabbitai coderabbitai Bot mentioned this pull request Jul 29, 2026
release: v1.11.0 — weight tolerance 10%, sync health alert repaired malisanjay475/jms_enterprise#1087
Merged
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@mcollina mcollina mcollina left review comments
@ronag ronag ronag left review comments
@Trott Trott Trott approved these changes
@addaleax addaleax addaleax approved these changes
+3 more reviewers
@targos targos targos left review comments
@lundibundi lundibundi lundibundi approved these changes
@rickyes rickyes rickyes approved these changes
Reviewers whose approvals may not affect merge requirements

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

http Issues and PRs related to the http subsystem. semver-minor PRs that contain new features and should be released in the next minor version.

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

9 participants

@benjamingr @nodejs-github-bot @ronag @mcollina @Trott @addaleax @targos @lundibundi @rickyes
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.