- 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
* Update http to use chronos http.
* Implement TLS in websocket.
* Add webscoket TLS test.
* Minor nit.
* Add TLS test file.
* Update http to use chronos http. (#6)
* Update http to use chronos http.
* Add stream.nim file.
* Address comments.
* Fix CI failure.
* Minor change.
* Address comments.
* Fix windows CI failing test.
* minor cleanup
* spacess
* more idiomatic connect
* use stew/base10
Co-authored-by: Dmitriy Ryajov <dryajov@gmail.com>
* Implement TLS in websocket.
* Minor nit.
* merge master
* wip
* Update http to use chronos http. (#6)
* Update http to use chronos http.
* Add stream.nim file.
* Address comments.
* Fix CI failure.
* Minor change.
* Address comments.
* Fix windows CI failing test.
* minor cleanup
* spacess
* more idiomatic connect
* use stew/base10
Co-authored-by: Dmitriy Ryajov <dryajov@gmail.com>
* Update http to use chronos http.
* Implement TLS in websocket.
* Minor nit.
* Update http to use chronos http. (#6)
* Update http to use chronos http.
* Add stream.nim file.
* Address comments.
* Fix CI failure.
* Minor change.
* Address comments.
* Fix windows CI failing test.
* minor cleanup
* spacess
* more idiomatic connect
* use stew/base10
Co-authored-by: Dmitriy Ryajov <dryajov@gmail.com>
* Implement TLS in websocket.
* Minor nit.
* add testing keys
* wip
* fix test
* wip
* remove eth dep and add skipdirs
* fix package structure
* fix deps
* check nim version
* Fix CI failure.
* Don't call `ws.stream.closeWait()`
* always close both ends to complete the sequence
* misc
* don't fail on close
* Fix windows CI.
* fix linux x86 builds
* use consistent connect pattern
* move keys to better place
* return dumbResponse
* small cleanup
Co-authored-by: Dmitriy Ryajov <dryajov@gmail.com>