dns-graceful-stack-switch
v0.1.1
Published
Graceful stack switching in dns.lookup. This will fix ENETUNREACH in case you have IPv4 disabled on host, but IPv6 available.
Downloads
411
Maintainers
Readme
dns-graceful-stack-switch
Monkey patch DNS lookup method for node.js.
Why?
If you used node.js with disabled IPv4 - you got exception (ENETUNREACH) in most of network operations, but ping6 address
working fine.
To fix this error with minimal amount of code (you still can use dns.resolve6
and get valid IPv6 addresses) - monkey patched lookup method was written.
How?
// Monkey patch
require('dns-graceful-stack-switch')(6);
// Remove monkey patch
require('dns-graceful-stack-switch')(null, true);
This module returns function(defaultVersion, remove)
.
defaultVersion
- IP stack version that will be used first to lookup address. If it fails - another will be used. Defaults toprocess.env.NODE_DNS_GRACEFUL_STACK_SWITCH_DEFAULT
and after that to4
.remove
- remove monkeypatch. Defaults tofalse
.
After executing dns.lookup will be loaded with require
and lookup
method will be replaced.
Node.JS way
This bug was "patched" in Node.js, but magic option in net.connect
(which gives you ability to write right http.Agent) released only in Node.js 0.11.6.
To run the tests:
Unix/Macintosh:
make test