* Implement dial, support IPv6 in httpclient
Added ``dial`` procedure to networking modules: ``net``, ``asyncdispatch``,
``asyncnet``. It merges socket creation, address resolution, and connection
into single step. When using ``dial``, you don't have to worry about
IPv4 vs IPv6 problem.
Fixed addrInfo loop in connect to behave properly.
Previously it would stop on first non-immediate failure, instead of
continuing and trying the remaining addresses.
Fixed newAsyncNativeSocket to raise proper error if socket creation
fails.
Fixes: #3811
* Check domain during connect() only on non-Windows
This is how it was in the previous implementation of connect().
* Call 'osLastError' before 'close' in net.dial
* Record osLastError before freeAddrInfo in net.dial
* Add missing docs for 'dial' proc
* Optimize dial to create one FD per domain, add tests
And make async IPv6 servers work on Windows.
* Add IPv6 test to uri module
* Fix getAddrString error handling
This directory contains the test cases.
Each test must have a filename of the form: ``t*.nim``
Each test can contain a spec in a ``discard """"""`` block.
The folder ``rodfiles`` contains special tests that test incremental
compilation via symbol files.
The folder ``dll`` contains simple DLL tests.
The folder ``realtimeGC`` contains a test for validating that the realtime GC
can run properly without linking against the nimrtl.dll/so. It includes a C
client and platform specific build files for manual compilation.