Commit Graph

2922 Commits

Author SHA1 Message Date
Ruslan Mustakov
e0059287bb Add 'hostname' param to wrapConnectedSocket 2017-05-04 16:27:08 +07:00
Dominik Picheta
27b571dd95 Fix different types for findExe's params across OS'. 2017-05-02 22:39:39 +01:00
Ruslan Mustakov
ecf278c467 Implement dial, support IPv6 in httpclient (#5763)
* 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
2017-05-02 09:25:50 +02:00
Jacek Sieka
0055729755 WIFSIGNALED means process has exited too (with a bang!) (#5678) 2017-04-27 21:39:32 +02:00
Daniil Yarancev
40f79e6cdd Small grammar fixes in json.nim (#5758) 2017-04-26 20:29:53 +02:00
Daniil Yarancev
6ac37ee2fb Small base64.nim refactor (#5755)
* Small changes (var to let)

* Some additional `var` to `let`

* Fix

* Finally removed immediate
2017-04-25 20:47:26 +02:00
Zach Smith
fa592f3aad Minor: spelling correction in tables.nim (#5727) 2017-04-19 00:35:44 +02:00
Dominik Picheta
03ddfddcae Add test for previous commit. 2017-04-17 20:04:24 +02:00
Dominik Picheta
5a4c06dbdc Support JInt fields for 'float' in JSON umarshal macro. 2017-04-17 19:47:43 +02:00
Dominik Picheta
793d6efffb Fixes null handling for object refs in JSON unmarshal macro. 2017-04-17 18:43:31 +02:00
Dominik Picheta
b829092c9e Add support for BiggestInt in JSON unmarshal macro. 2017-04-17 18:01:38 +02:00
Dominik Picheta
2108dcf0d5 Fix JSON macro bug with ref objects. 2017-04-17 18:01:38 +02:00
Dominik Picheta
afb7542d20 Merge pull request #5720 from FedericoCeratto/patch-27
Fix cookie timestamp format #5718
2017-04-17 14:33:15 +02:00
Federico Ceratto
856d04c146 Fix cookie timestamp format #5718
See https://tools.ietf.org/html/rfc6265
2017-04-17 12:58:10 +01:00
Federico Ceratto
407beef7fd Fix "secure" capitalization
See https://tools.ietf.org/html/rfc6265
2017-04-17 12:54:23 +01:00
Jacek Sieka
99d20f6112 fix redundant time import with different signature (#5715) 2017-04-16 22:50:10 +02:00
Dominik Picheta
5cf31417a6 Fixes #5710. Closes #5711. 2017-04-15 09:03:12 +02:00
Jacek Sieka
ce86b4ad78 Posix from detect (#5697)
* refactor posix.nim
* types move to separate files for platform-specifc and generic
("other')
* consts move to separate files that get autogenerated by detect.nim
* proc's stay where they are for now, though in a second stage might
move as well
* fix missing when
2017-04-12 23:10:54 +02:00
Jacek Sieka
e512358bc9 Linux abi take 3 (#5692)
* avoid generating object fields for imported types
* fix some abi/type issues for linux_amd64
2017-04-12 22:57:10 +02:00
Dominik Picheta
c9c64240d3 Fixes ambiguity introduced by #5390. 2017-04-09 20:27:28 +02:00
Dominik Picheta
88cb40cd31 Implement support for enum fields in JSON macro. 2017-04-09 17:22:40 +02:00
Dominik Picheta
bd58a0d67c Use doAssert in JSON macro and improve diagnostics. 2017-04-09 17:04:31 +02:00
Dominik Picheta
4bd650ee42 Merge branch 'feature/json-macro' into devel 2017-04-09 13:11:09 +02:00
Dominik Picheta
7ac0c15e7a Improve documentation in the JSON module. 2017-04-09 13:09:59 +02:00
Dominik Picheta
eedc6fecd7 Document to macro in JSON and add example. 2017-04-09 12:48:07 +02:00
Dominik Picheta
a883424d0d Implements else branch for JSON unmarshalling of object variants. 2017-04-09 11:49:50 +02:00
Dominik Picheta
658467a31f Improve error messages and add tests for the JSON macro. 2017-04-08 22:06:57 +02:00
Dominik Picheta
cc223ff7d8 Support int, string and bool fields in unmarshal json macro. 2017-04-08 21:23:35 +02:00
Dominik Picheta
12aafb25cc First implementation of JSON unmarshal macro. 2017-04-08 20:55:32 +02:00
Dominik Picheta
27ede21504 Merge pull request #5612 from ehmry/AsyncFile.setLen
asyncfile: setLen procedure for files
2017-04-08 12:24:21 +02:00
Dominik Picheta
cdfcc12529 Implement json.% for enums. 2017-04-06 21:56:20 +02:00
Anatoly Galiulin
3374bcb373 parsecfg: handle streams and strings when saving or loading configuration (#5554) 2017-04-06 08:10:08 +02:00
Emery Hemingway
bc5c2d8414 getFileSize and setFileSize procedures for File and AsyncFile
Platform independent procedure to set a file length. Useful when
replacing file content.
2017-04-05 19:05:43 -05:00
Andreas Rumpf
f520dfbfab remove en-dash from the language 2017-04-02 23:41:29 +02:00
Daniil Yarancev
009277856e Fix #5611 2017-04-02 18:52:14 +03:00
Emery Hemingway
7e351fc7fa support for the Genode OS framework (#5560) 2017-03-31 23:13:06 +02:00
Andreas Rumpf
529609f7ed Merge remote-tracking branch 'origin/concepts-rebased' into araq 2017-03-31 16:40:21 +02:00
Andreas Rumpf
0ccbc82344 Merge branch 'devel' into araq 2017-03-30 23:56:22 +02:00
Konstantin Molchanov
04646052ab Merge branch 'devel' into fix_time_offset_in_times_js 2017-03-29 16:54:36 +04:00
Konstantin Molchanov
a9044117e9 Stdlib: Times: Use JS's "new Date" to convert TimeInfo to Time.
To use JS's Date creation from string, I moved the TimeInfo formatting code above the toTime proc declaration. Also, I changed the argument type for newDate from string to cstring for it to work.
2017-03-29 16:40:52 +04:00
Konstantin Molchanov
875e344be0 JS: Add yearday calculation to getLocalTime and getGMTime, so that yearday is not 0 for TimeInfo instances under JS backend. (#5616) 2017-03-29 12:36:04 +02:00
Andreas Rumpf
3ffde39cf4 attempt to make travis OSX tests green and mandatory 2017-03-29 10:14:03 +02:00
Andreas Rumpf
a88a909565 fixes #5625 2017-03-29 09:05:45 +02:00
Tomas Vojtisek
27a291c09e Update threadpool.nim (#5624) 2017-03-29 08:36:10 +02:00
Dominik Picheta
e0bb65e45c Fixes the order in which FutureVar and return completions are made.
This caused a pretty bad and subtle bug in the asynchttpserver.
As far as I can understand, the fact that the returned future was
being completed first meant that the underlying async procedure
could continue running and thus clean() the FutureVar
and request new data. The control then went back and the
FutureVar was completed again causing an error.
2017-03-27 21:11:48 +02:00
Konstantin Molchanov
2351d5d314 Merge branch 'calculate_yearday_in_timeinfo_js' into fix_time_offset_in_times_js 2017-03-27 21:38:19 +04:00
Andreas Rumpf
159643824b fixes #3847 (#5609) 2017-03-27 09:39:46 +02:00
Konstantin Molchanov
bef86f55ce Times: JS: Add yearday to TimeInfo.
Add yearday calculation to getLocalTime and getGMTime, so that yearday is not 0 for TimeInfo instances under JS backend.

Yearday 0 has no sense and contradicts the behaviour under C backend, where yearday is an int from 1 to 365, i.e. cannot be 0 even theoretically.
2017-03-27 00:14:48 +04:00
Konstantin Molchanov
3ebffb2a00 Times: JS: Remove implicit UTC convesion.
The conversion would produce incorrect timestamp.
2017-03-26 23:50:02 +04:00
Andreas Rumpf
1268ca79e5 fixes #5599 (#5610) 2017-03-26 09:30:59 +02:00