previously we are using bash to run parallel autobahn test.
now we leverage CI jobs to run parallel tests.
with the inclusion of compression extension,
the autobahn test suite took significant time
to pass. move it to manually triggered CI
as it cannot make the main CI to fail anyway.
we only run basic autobahn tests in regular CI.
* cleanup examples
* more examples cleanup
* make HttServer a case object
* propagate errors when handling requests
* don't extend HttpServer
* remove port from create that takes a string host
make more consistent with client's `connect`
* add support for DNS resolution
- reworked API to be more consistent
- string addresses and Uri types will be now resolved
- made the API more consistent
* log failed connection attempt
* agent string can't contain spaces
* add websock topic (#83)
* style
Co-authored-by: Tanguy Cizain <tanguycizain@gmail.com>
- set RSV bits in frame.encode
- move ExtParams from extutils.nim to types.nim
- remodel extension factory type
- accept/reject extensions offer in server
- offer/accept extensions in client
* add accepts api
* Fix partial frame handling and allow extensions to hijack the flow (#56)
* moving files around
* wip
* wip
* move tls example into server example
* add tls functionality
* rename
* rename
* fix tests
* move extension related files to own folder
* use trace instead of debug
* export extensions
* rework partial frame handling and closing
* rework status codes as distincts
* logging
* re-enable extensions processing for frames
* enable all test for non-tls server
* remove tlsserver
* remove offset to mask - don't think we need it
* pass sessions extensions when calling send/recv
* adding encode/decode extensions flow test
* move server/client setup to helpers
* proper frame order execution on decode
* fix tls tests
* fix merge
* add tls support for `accept` call
* fix tests to use accepts & cb
- send requestUrl.query in client.nim
- fixes genMaskKey bug in utils.nim
- using Base64Pad instead of Base64 in `connect` proc
- add `host` field to request HTTP header in `connect` proc
- add missing `secure` param in `connect` proc
fixes#32
* moving files around
* wip
* wip
* move tls example into server example
* add tls functionality
* rename
* rename
* fix tests
* move extension related files to own folder
* use trace instead of debug
* export extensions
* rework partial frame handling and closing
* rework status codes as distincts
* logging
* re-enable extensions processing for frames
* enable all test for non-tls server
* remove tlsserver
* remove offset to mask - don't think we need it
* pass sessions extensions when calling send/recv
* adding encode/decode extensions flow test
* move server/client setup to helpers
* proper frame order execution on decode
* fix tls tests
* wip
* wip
* move http under ws folder
* use asyctest
* wip
* wip
* rework response sending
* make example work with latest changes
* wip request/response
* misc
* fix example to use new http layer
* pass tls flags to client
* more cleanup
* unused imports
* more unsused imports
* better headers
* add helpre sendError
* export sendError
* attach selected proto to session
* move proto to session
* handle unsupported version
* fix tests
* comment out for now
* fix utf8 tests
* allow tests to be ran in tls
* misc
* use Port type
* add tls flags
* better api
* run tls tests
* fix tests on windows
* allow running tests with tls
* mic
* wip
* fix autobahn ci
* handle close
* cleanup
* logging and error handling
* remove old stream
* implement UTF8 handling
or to be precisely, we add UTF8 validator which main duty
is to detect malformed UTF8 sequence using a fast DFA UTF8
decoder.
also enable autobahn UTF8 category tests, much more green :)
fixes#13
* fixes case 7.5.1 Send a close frame with invalid UTF8 payload
* add tests for validateUTF8
- tests for validateUTF8 in raw mode
- tests for validateUTF8 in websocket client/server
from: 2.7.17 to pypy-2.7
why:
there is annoying warning message in github action ci:
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020.
Please upgrade your Python as Python 2.7 won't be maintained after that date.
A future version of pip will drop support for Python 2.7.
More details about Python 2 support in pip, can be found at
https://pip.pypa.io/en/latest/development/release-process/#python-2-support