Fix merging objects with prototypes #201
Merged
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.
The
merge
function in/source/merge.js
usesObject.assign
method.The issue is that this method copies only an object's own properties to the resulting object.
It means we've got an error from https://github.com/nodejs/node/blob/master/lib/_http_client.js#L135 when we pass
httpsAgent
orhttpAgent
as an option to any method of the client.For example, the following code will throw th an error.
To fix this issue we have to not only copy its own properties of the original object but to copy its prototype too.