fix: Fix createServer() to properly handle Node.js-compatible options parameter #210
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.
Fix createServer to properly handle Node.js-compatible options parameter
fix #183 fix #209
Issue
Currently, when using
createServerwith options similar to Node.js, it causes a TypeError:The signature of
createServerneeds to be consistent with Node.js, where options can be passed as the first argument.Changes
This PR implements:
Server.jsconstructor to properly handle options vs. connectionListener argumentsServerOptionstype definition with support for:noDelaykeepAlivekeepAliveInitialDelayallowHalfOpenpauseOnConnectlisten()method to match Node.js signature patterns:listen(port, [host], [callback])listen(options, [callback])_applySocketOptionsmethod to apply server options to new socket connectionsTesting
The following patterns now work without errors:
These changes improve compatibility with code written for Node.js and make the library more intuitive to use for developers familiar with the Node.js API.