* 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
* code cleanups
* refactorings for IC
* more refactorings for IC
* IC: attach the 'nil' type to its module
* IC: refactorings and improvements
* IC: progress
* IC: more serialization fixes
* IC: embarrassing omission
* code cleanups
* Update openssl.nim
Fix issue # 16308
* Update openssl.nim
These are also related to Issues [#16308](https://github.com/nim-lang/Nim/issues/16308)
* Update openssl.nim
* Add files via upload
SSL PEM_read_RSAPUBKEY check
* Delete topenssl_rsa_private_key.pem
* Delete topenssl_rsa_public_key.pem
* Delete topenssl.nim
* Add files via upload
* Update topenssl.nim
This test makes me dizzy. Variables such as' PRSA 'must be declared in advance, otherwise they will run incorrectly. The argument uses a cString, and string also makes an error.
* Update topenssl.nim
```
lhf@lhf-pc:/media/lhf/D$ cat -e ./topenssl.nim
import std/wordwrap$
import openssl$
```
* Update topenssl.nim
* dos2unix tests/stdlib/topenssl.nim
Co-authored-by: lihaifeng <lihaifeng@wxm.com>
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.
* removed dead code
* beginnings of a rodfile reader
* IC: record global VM state changes and pragma state changes
* IC: replay pragmas and VM state changes
* implemented rod load file simuation for easier, extensive testing
* critical bugfix
* IC: stress test logic; should also help with recursive module dependencies; WIP
* IC: loading from .rod files begins to work reliably
* removed ugly hacks
* yet another silly mistake
* 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>
* 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
* cleanups
* ast.nim: cleanups
* IC: no more sym.tab field, stored externally in the module graph
* nimble compiles again
* rodfiles: store bitwidth of integers and the endianness in the cookie because we serialize 'int' directly
* rodfiles: added compilerproc and export sections
* rodfiles: added all the missing sections
* rodfiles: track the missing information
* IC: architecture for lazy loading of proc bodies
* make tests green again
* completed the lazy loading of proc bodies
* symbol lookup integration, part 1
* symbol lookup integration, part 2
* symbol lookup integration, part 3
* make tcompilerapi work again
* rodfiles: fixed config change handling
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.