Commit graph

4,957 commits

Author SHA1 Message Date
Juan Carlos
78a99587a4
Deprecate TaintedString (#15423)
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
Co-authored-by: Dominik Picheta <dominikpicheta@googlemail.com>
2021-01-15 18:56:38 -08:00
konsumlamm
7b632f9ccb
Improve documentation for the hashes module (#16720)
* Improve documentation for hashes

* Fix runnableExamples

* Apply suggestions
2021-01-15 22:42:01 +00:00
vabresto
a90f7a66ed
Transfer-Encoding:chunked tests (#16678)
* Add tests and fix extra newlines in body

* Fixes per comments

* Slight rephrase per comments

* Improvements per comments

* Add getSocket to reduce test flakiness per comment

* Remove unused lines from header

* Add doc comment to getSocket per comment

* Apply witchcraft to replace `discard Future`

* Return HTTP 400 on bad encoding in request

* Fix runnable example for getSocket

* Fix import to fix runnable examples

* Even more imports for the example

* Better self documenting runnable example

* Add missing import

* Import from module with correct signature

* Resolve port type mismatch
2021-01-14 20:17:02 +01:00
Yuriy Glukhov
4ae520711d
Fixes #16436 (#16695)
* Fixes #16436

* Comments addressed
2021-01-14 08:53:21 +01:00
Timothee Cour
fee5fbc722
fix #16703; revert most of #16480; add tests/stdlib/tmimetypes.nim (#16711) 2021-01-13 14:52:59 -08:00
Yuriy Glukhov
165d39738d
Check for errors after sendPendingSslData (#16696)
* Check for errors after sendPendingSslData

* Leftover comment removed
2021-01-13 15:09:28 +01:00
Mildred Ki'Lya
71db2be833
Improve uri.parseQuery to never raise an error (#16647)
In case of malformed query string where there is `=` on the value, handle
this character as part of the value instead of throwing an error.

The following query string should no longer crash a program:

    key=value&key2=x=1

It will be interpreted as [("key", "value"), ("key2", "x=1")]

This is correct according to latest WhatWG's HTML5 specification
recarding the urlencoded parser:
https://url.spec.whatwg.org/#concept-urlencoded-parser

Older behavior can be restored using the -d:nimLegacyParseQueryStrict
flag.
2021-01-12 13:42:05 +01:00
konsumlamm
bf184bcdd9
Remove longestMatch in _WithPrefix iterators (#16689) 2021-01-12 08:35:27 +01:00
konsumlamm
5897ed9d3d
Improve documentation of strmisc (#16665)
Simplify examples
2021-01-11 10:53:15 +01:00
flywind
f82100ac93
fix broken CI (#16663) 2021-01-10 16:19:40 +00:00
Antonis Geralis
7bde6aa37f
Httpclient improvements (#15919)
* Allow passing Uri instead of strings

* Teach httpclient about 308

* Deprecate request proc where httpMethod is string

* More use of HttpMethod enum

Also fix handling of 308, I forgot to add the hunk to the previous
commit.

* Well behaved redirect handler

* Also remove Transfer-Encoding

* Removed unused proc

* Secure redirection rules

Strip sensitive headers for cross-domain redirects.

* Allow httpMethod to be a string again

This way unknown http verbs can be used without any problem.

* Respect user-specified Host header

* Missed multipart argument.

* Try another method

* add changelog

* Fix hidden deprecation warning, parseEnum failing

* This is wrong

* Have to do it manually, parseEnum is not suitable

* Review comments

* update

Co-authored-by: LemonBoy <thatlemon@gmail.com>
Co-authored-by: Dominik Picheta <dominikpicheta@googlemail.com>
2021-01-10 13:40:53 +00:00
vabresto
65df5762a1
Add support for Transfer-Encoding: chunked (#16636)
* Add support for Transfer-Encoding: chunked

* Minor whitespace fixes

* Use recv instead of recvLineInto

* Undo changes to httpcore, inline changes
2021-01-10 11:42:23 +00:00
konsumlamm
b7ff0b2a11
Use func in lenientops (#16641) 2021-01-09 00:24:41 +01:00
Joey
bfcb7c1621
DELETE requests should always have a content-length header (#16618)
* DELETE requests should always have a content-length header

Not having DELETE in this list is causing hanging when trying to close webdriver sessions in [halonium](https://github.com/halonium/halonium/issues/10) and likely any other implementation of the webdriver protocol. Both at least chromedriver and geckodriver are affected by this issue.

* Change the content length calculation to match the http spec

For reference:
https://www.w3.org/Protocols/HTTP/1.0/draft-ietf-http-spec.html#Entity-Body
2021-01-08 18:48:23 +00:00
konsumlamm
a4257dc3b6
Improve documentation for the md5 module (#16631) 2021-01-07 20:57:11 +01:00
flywind
89a21e4ec7
oids: switch from PRNG to random module (#16203)
* switch from PRNG to random module
* fix the regression
* comments + tests
* runnableExamples
* make oids better
2021-01-07 09:38:31 +01:00
flywind
bab0aa6ecf
add math.signbit (#16592) 2021-01-07 08:48:02 +01:00
Dominik Picheta
4754806fb5
Fixes the asynchttpserver example some more (#16599)
I dislike this example a lot (busy looping for FDs to be closed is a very
poor waste of resources) but at least with these changes it's a little bit
better.
2021-01-07 08:39:56 +01:00
konsumlamm
d34d023da1
Minor docs/format changes (cpuinfo, volatile) (#16602) 2021-01-06 20:29:22 +01:00
konsumlamm
8a3b6190c3
Improve documentation for deques (#16589) 2021-01-06 20:16:26 +01:00
konsumlamm
2c2baa9fad
Link the <fenv.h> header (#16597) 2021-01-05 20:51:51 +01:00
flywind
c04f305bf7
make cstrutils work in VM (#16590)
* make cstrutils work in VM

* more
2021-01-05 17:52:26 +01:00
konsumlamm
0c4bd65e8d
Improve documentation for complex (#16588)
* Improve documentation for complex

Add missing doc comments

* Add runnableExample

Add links for principal values
Optimize `-`
Change var to let

* Use std prefix for imports
2021-01-05 17:50:15 +01:00
flywind
df9e74b510
fix #9125 (#16582)
* fix #9125

* Update tests/stdlib/tmath.nim

Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>

* back

Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
2021-01-05 17:47:10 +01:00
Timothee Cour
3b2f94810e
remove duplication in asynchttpserver examples (#16586)
* remove duplication in asynchttpserver examples

* fixup

* add comment showing how to run snippet locally
2021-01-05 17:21:06 +01:00
Miran
d2f4f25b56
fix #16506 by changing the example (#16580)
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
2021-01-04 12:46:36 -08:00
Neelesh Chandola
0d67ad0bf3
Add backwards index overload for [] for JsonNode (#16501)
* Add backwards index overload for `[]` for JsonNode

* Add since

Co-authored-by: flywind <43030857+xflywind@users.noreply.github.com>

* Add docs, example, and changelog

Co-authored-by: flywind <43030857+xflywind@users.noreply.github.com>
2021-01-04 17:46:39 +01:00
konsumlamm
435f829348
Improve sequtils documentation (#16559)
* Improve sequtils documentation

Uncomment assertions in tests

* Use present tense
2021-01-04 11:04:30 +01:00
konsumlamm
763fef59fa
Improve documentation for critbits (#16568) 2021-01-03 22:25:05 -08:00
hlaaftana
2aed418698
Fix #16554 (#16564) 2021-01-03 08:02:12 +01:00
konsumlamm
2eccef7ad6
Algorithm improvements (#16529)
* Improve documentation for algorithm

Remove unused import in algorithm tests
Improve formatting

* Reapply fix for reverse on empty openArray

* Use 3rd person singular

Add more explanations.
2021-01-02 20:28:59 +01:00
flywind
e869767aa7
fix #16061 (#16551) 2021-01-02 17:13:01 +01:00
flywind
d8b1ffc857
fix #16542 (#16549)
* fix #16542
2021-01-02 14:32:37 +01:00
Juan Carlos
1d2e2b5a5b
Add mimetypes.mimesLongest (#16480)
* Allow single alloc mimetypes ops

* Allow single alloc mimetypes ops

* Update lib/pure/mimetypes.nim

Co-authored-by: flywind <43030857+xflywind@users.noreply.github.com>

* https://github.com/nim-lang/Nim/pull/16480#issuecomment-752630190

* https://github.com/nim-lang/Nim/pull/16480#issuecomment-752630190

* https://github.com/nim-lang/Nim/pull/16480#issuecomment-753349661

* update changelog

Co-authored-by: flywind <43030857+xflywind@users.noreply.github.com>
2021-01-02 08:10:38 +01:00
Juan Carlos
505d04389a
Documentation only Testament unittest (#16532)
* Link Testament from unittest doc

* Update lib/pure/unittest.nim

Co-authored-by: flywind <43030857+xflywind@users.noreply.github.com>

Co-authored-by: flywind <43030857+xflywind@users.noreply.github.com>
2021-01-01 19:44:06 +01:00
n5m
b254d91cd0
reuse const (#16422) 2021-01-01 19:41:49 +01:00
flywind
d069c08d2b
follow up #16399 clean up docs (#16539)
* follow up #16399 clean up docs

* more
2021-01-01 19:39:05 +01:00
n5m
5953fbd834
link to POSIX sendSignal from osproc.kill docs (#16475)
and from osproc.terminate docs
2021-01-01 19:01:45 +01:00
flywind
5fb56a3b2c
refactor cmpIgnoreStyle and cmpIgnoreCase (#16399)
* init

* support strutils

* more

* better

* Call len once per string/cstring

* Change var to let

* Compare ternary on first char

* More appropriate param name

* fix

* better

* one test

* impl

* more efficient

* minor

Co-authored-by: Clyybber <darkmine956@gmail.com>
2020-12-31 11:54:40 +01:00
rockcavera
876fa3e62e
adding missing commas in std/bitops (#16520)
adding missing commas between the importc and header pragmas of some procs.
2020-12-30 16:41:25 -08:00
flywind
805917768d
use runnableExamples in options (#16503) 2020-12-30 16:26:49 +01:00
flywind
515cd45420
Add math.copySign (#16406)
* add math.copySign
* fix + tests
2020-12-30 15:09:30 +01:00
flywind
e718a4a058
follow #15860 clean cgi module (#16487)
* follow #15860  clean cgi module

* follow #15860  clean cgi module
2020-12-27 19:46:21 +01:00
Juan Carlos
0c8ce2dccf
Save some alloc on base64 using encodeSize (#16465) 2020-12-27 12:02:10 +01:00
flywind
689504081f
follow #15357 and move decodeQuery (#15860)
* follow #15357 and move decodeQuery
* solve problem one
* minor
* deprecate decodeData
* add changelog and since
* add testcase for decodeQuery
2020-12-27 11:59:32 +01:00
flywind
1d615dfda7
fix #16474 unittest.check type1 is type2 gives CT error (#16476)
* fix #16474
* more tests
2020-12-27 09:16:53 +01:00
Juan Carlos
a29bbeee41
Add missing HTTP codes (#16454) 2020-12-23 12:26:37 -08:00
flywind
b1c3dab208
add euclDiv and euclMod to math (#16414)
* add `euclDiv` and `euclMod` to `math`
* use abs
* Update lib/pure/math.nim

Co-authored-by: Clyybber <darkmine956@gmail.com>
2020-12-23 12:04:38 +01:00
flywind
417c2509c4
strip minor improvement (#16444)
* strip minor improvement
* add more tests
* Update tests/stdlib/tstrutils.nim

Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
2020-12-23 11:57:48 +01:00
Timothee Cour
bc84d9c8cb
[backport => 1.0] fix #16428 vmops now works for generic procs (#16429)
* fix #16428 vmops now works for generic procs

* remove duplication
2020-12-22 02:05:21 +01:00