* 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>
* 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
* 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>
* Use seq[byte] to store data.
* Working bytes conversion.
* Refactor the code.
* Add test.
* Add websocket test and fix closing handshake.
* Add MsgReader to read data in external buffer.
* rework frame reading
* don't do toTitleCase
* fix examples
* use byte for more comfort
* rework message reading + api
* fix tests
* adding specific exception types
* minor cleanup
* fixing tests
* more tests
* check the fin flag at the correct place
* info for debug
* split data not encoded frames
* more tests
* wip - control messages
* closing flow and more explicit exception handling
* test close and pings
* add tests task to nimble
* adding ci
* change recv semantics
* add frame tests
* remove echo
* better frame tests
* fix
* fix
* handle continuation frames properly
* more close logic handling
* wip tests
* handle close reasons properly
* test control frames encoding
* don't pass ws to event callbacks
* fix masking and use correct base64 encoding
* fix ci
* addressing review comments
* fix client example
* i386 ci fix
* wip ci
* fix reading offset
* don't read if socket closed
* fix ci
* wip
* don't read if socket is closed
Co-authored-by: Arijit Das <arijit@status.im>
Co-authored-by: Arijit Das <arijitad.in@gmail.com>
* Implement websocket server.
* Implement websocket client.
* Run nimpretty.
* Remove commented code.
* Address comments.
* Address comments on websocket server.
* Use seq[byte] to store data.
* Working bytes conversion.
* Remove result from return
* Refactor the code.
* Minor change.
* Add test.
* Add websocket test and fix closing handshake.
* Add MsgReader to read data in external buffer.