-
-
Notifications
You must be signed in to change notification settings - Fork 33.9k
net: migrate errors to internal/errors #17766
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
Conversation
Trott
left a comment
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.
Hi @kysnm! Thanks for the pull request! I have no comments on the code changes and will leave that to others, but I have two small nit-pick comments on the docs.
doc/api/errors.md
Outdated
| ### ERR_SERVER_NOT_RUNNING | ||
|
|
||
| The [`server.close()`][] method was called when a `net.Server` was not running. This applies to all instances of `net.Server`, including HTTP, HTTPS, | ||
| and HTTP/2 Server instances. |
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: "Server" should probably be either in backticks or else lowercase. (Either it is referring to a server generically, in which case lowercase, or it is referring to the Server object, in which case backticks.)
doc/api/errors.md
Outdated
| <a id="ERR_SERVER_NOT_RUNNING"></a> | ||
| ### ERR_SERVER_NOT_RUNNING | ||
|
|
||
| The [`server.close()`][] method was called when a `net.Server` was not running. This applies to all instances of `net.Server`, including HTTP, HTTPS, |
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.
Wrap at 80 chars?
086f5f9 to
4f79622
Compare
|
@Trott |
| assert.strictEqual(error, undefined); | ||
| server.close(common.mustCall(function(error) { | ||
| assert.strictEqual(error && error.message, 'Not running'); | ||
| assert.strictEqual(error && error.code, 'ERR_SERVER_NOT_RUNNING'); |
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.
Can you use common.expectsError() to test this? This should be something like
common.expectsError({
code: 'ERR_SERVER_NOT_RUNNING',
message: 'Server is not running.',
type: Error
})(error);
| assert.strictEqual(conn, conn.destroy().destroy()); | ||
| conn.on('error', common.mustCall(function(err) { | ||
| assert.strictEqual(err.message, 'This socket is closed'); | ||
| assert.strictEqual(err.code, 'ERR_SOCKET_CLOSED'); |
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.
Same as above, please use common.expectsError
| server.close(); | ||
| assert.strictEqual(err.constructor, Error); | ||
| assert.strictEqual(err.message, 'This socket is closed'); | ||
| assert.strictEqual(err.code, 'ERR_SOCKET_CLOSED'); |
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.
Ditto
|
@joyeecheung |
| conn.on('connect', common.mustCall(function() { | ||
| // Test destroy returns this, even on multiple calls when it short-circuits. | ||
| assert.strictEqual(conn, conn.destroy().destroy()); | ||
| conn.on('error', common.mustCall(function(err) { |
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.
The common.mustCall is not necessary here. common.expectsError creates a function that can receive an error and also makes sure that it actually ran.
| })); | ||
| conn.write(Buffer.from('kaboom'), common.mustCall(function(err) { | ||
| assert.strictEqual(err.message, 'This socket is closed'); | ||
| common.expectsError({ |
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.
Same here.
|
@apapirovski |
| code: 'ERR_SERVER_NOT_RUNNING', | ||
| message: 'Server is not running.', | ||
| type: Error | ||
| })(error); |
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 can be simplified to...
server.close(common.expectsError({
code: 'ERR_SERVER_NOT_RUNNING',
message: 'Server is not running.',
type: Error
}));|
@jasnell |
|
@kysnm .. there's no bother at all :-) thank you for doing this! |
|
There were some seemingly unrelated errors in the last CI. New CI: https://ci.nodejs.org/job/node-test-pull-request/12281/ |
|
Landed in b98aaa3, thanks! |
Throw ERR_SOCKET_CLOSED and ERR_SERVER_NOT_RUNNING instead of the old-style errors in net.js. PR-URL: #17766 Refs: #17709 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Refs: #17709
cc @jasnell @joyeecheung
Checklist
make -j4 test(UNIX), orvcbuild test(Windows) passesAffected core subsystem(s)
doc, errors, net