- Jul 18, 2022
-
-
Niklas Adolfsson authored
-
- Jul 06, 2022
-
-
Niklas Adolfsson authored
-
Alexandru Vasile authored
* ws-server: Handle `soketto::Incoming::Closed` frames Signed-off-by: Alexandru Vasile <[email protected]> * ws-server: Change `warn` -> `debug` for dropped connections Signed-off-by: Alexandru Vasile <[email protected]> * ws-server: Remove closed reason log Signed-off-by: Alexandru Vasile <[email protected]> * Update ws-server/src/server.rs Co-authored-by: Niklas Adolfsson <[email protected]>
-
Niklas Adolfsson authored
* WIP: refactoring * refactor http server * fix tests * Delete TODO.txt * fix tests again * add benches/src/lib.rs * remove bench changes; fast less deps * no more env_logger * update examples * ws server; expose headers in middleware * add back uncommented code * fix nits * make the code more readable * add back the tracing stuff * simplify code but one extra clone * fix tests again * revert async accept API * fix nits * different traits for WS and HTTP middleware * fix tests * revert benchmark change * Update core/src/server/helpers.rs * Update ws-server/Cargo.toml * add limit to batch responses as well * pre-allocate string for batches * small refactor
-
- Jun 29, 2022
-
-
Alexandru Vasile authored
* subscription: Allow errors in subscription callbacks Signed-off-by: Alexandru Vasile <[email protected]> * subscription: Remove the need to own the error Signed-off-by: Alexandru Vasile <[email protected]> * error: Build `ErrorObject` from `CallError` for improved ergonomics Signed-off-by: Alexandru Vasile <[email protected]> * Update examples for the new subscription API Signed-off-by: Alexandru Vasile <[email protected]> * Add alias for subscription result Signed-off-by: Alexandru Vasile <[email protected]> * macros: Render server subscription method with `ResultSubscription` Signed-off-by: Alexandru Vasile <[email protected]> * Port `proc_macro` example to new API Signed-off-by: Alexandru Vasile <[email protected]> * Rename `ResultSubscription` to `ReturnTypeSubscription` to avoid confusion Signed-off-by: Alexandru Vasile <[email protected]> * Port all tests to new subscription API Signed-off-by: Alexandru Vasile <[email protected]> * Update documentation Signed-off-by: Alexandru Vasile <[email protected]> * Port benches Signed-off-by: Alexandru Vasile <[email protected]> * Replace tabs with spaces & add documentation Signed-off-by: Alexandru Vasile <[email protected]> * Add dummy error for subscriptions Signed-off-by: Alexandru Vasile <[email protected]> * Implement `From` for `SubscriptionError` Signed-off-by: Alexandru Vasile <[email protected]> * Return `SubscriptionError` when parsing params Signed-off-by: Alexandru Vasile <[email protected]> * Rename `SubscriptionError` to `SubscriptionEmptyError` Signed-off-by: Alexandru Vasile <[email protected]> * Change `accept` signature Signed-off-by: Alexandru Vasile <[email protected]> * Port tests to new `accept` api Signed-off-by: Alexandru Vasile <[email protected]> * Implement `pipe_from_try_stream` and `pipe_from_stream` for `PendingSubscription` Signed-off-by: Alexandru Vasile <[email protected]> * Modify examples to ilustrate new API Signed-off-by: Alexandru Vasile <[email protected]> * Fix docs tests Signed-off-by: Alexandru Vasile <[email protected]> * Rename previously `SubscriptionResult` -> `InnerSubscriptionResult` Signed-off-by: Alexandru Vasile <[email protected]> * Rename `ReturnTypeSubscription` -> `SubscriptionResult` Signed-off-by: Alexandru Vasile <[email protected]> * Remove documentation line Signed-off-by: Alexandru Vasile <[email protected]> * Implement `PipeFromStreamResult` Signed-off-by: Alexandru Vasile <[email protected]> * Add comment for empty error Signed-off-by: Alexandru Vasile <[email protected]> * Update proc-macros/src/lib.rs Co-authored-by: Niklas Adolfsson <[email protected]> * Update proc-macros/src/lib.rs Co-authored-by: Niklas Adolfsson <[email protected]> * Update proc-macros/src/lib.rs Co-authored-by: Niklas Adolfsson <[email protected]> * Change `ReturnTypeSubscription` -> `SubscriptionResult` Signed-off-by: Alexandru Vasile <[email protected]> * Add `ResultConsumed` for `PipeFromStreamResult` Signed-off-by: Alexandru Vasile <[email protected]> * Update examples to use `PipeFromStreamResult` Signed-off-by: Alexandru Vasile <[email protected]> * Replace ConsumedResult with Options Signed-off-by: Alexandru Vasile <[email protected]> * Log warning when subscription callback fails Signed-off-by: Alexandru Vasile <[email protected]> * Change ubuntu test names Signed-off-by: Alexandru Vasile <[email protected]> * server: Make `pipe` methods of `SubscriptionSink` private Signed-off-by: Alexandru Vasile <[email protected]> * server: Remove `pipe_from_stream` method of `SubscriptionSink` Signed-off-by: Alexandru Vasile <[email protected]> * server: Update PipeFromStreamResult documentation Signed-off-by: Alexandru Vasile <[email protected]> * Adjust tests to `SubscriptionSink::pipe_from_stream` private interface Signed-off-by: Alexandru Vasile <[email protected]> * Add `accept-reject` API on `SubscriptionSink` Signed-off-by: Alexandru Vasile <[email protected]> * Make `pipe_from_try_stream` public Signed-off-by: Alexandru Vasile <[email protected]> * Maybe accept the subscription Signed-off-by: Alexandru Vasile <[email protected]> * Revert "server: Remove `pipe_from_stream` method of `SubscriptionSink`" This reverts commit d3c3ce9c . * Make `unsubscribe` channel optional on accepting the connection Signed-off-by: Alexandru Vasile <[email protected]> * Pass `SubscriptionSink` to subscription callbacks Signed-off-by: Alexandru Vasile <[email protected]> * Implement subscription sink state Signed-off-by: Alexandru Vasile <[email protected]> * Submit `InvalidParams` if sink was never accepted Signed-off-by: Alexandru Vasile <[email protected]> * Handle rejected sinks Signed-off-by: Alexandru Vasile <[email protected]> * Remove `PendingSubscription` Signed-off-by: Alexandru Vasile <[email protected]> * Fix doc tests Signed-off-by: Alexandru Vasile <[email protected]> * macro: Make subscription sink mutable Signed-off-by: Alexandru Vasile <[email protected]> * Fix tests and examples Signed-off-by: Alexandru Vasile <[email protected]> * macro: Return `sink.reject()` result Signed-off-by: Alexandru Vasile <[email protected]> * tests: Add test for `SubscriptionSinkState` Signed-off-by: Alexandru Vasile <[email protected]> * Test internal subscription sink state Signed-off-by: Alexandru Vasile <[email protected]> * Fix `send_error` to not always return `false` Signed-off-by: Alexandru Vasile <[email protected]> * Fix benches Signed-off-by: Alexandru Vasile <[email protected]> * Remove `PipeFromStreamResult` Signed-off-by: Alexandru Vasile <[email protected]> * Use valid Json-RPC return code for test errors Signed-off-by: Alexandru Vasile <[email protected]> * Remove `SubscriptionSinkState`" * Remodel state machine using `Option`s for `SubscriptionSink`s Signed-off-by: Alexandru Vasile <[email protected]> * tests: Double accept / reject API for `SubscriptionSink` Signed-off-by: Alexandru Vasile <[email protected]> * Implement `SubscriptionAcceptRejectError` for error propagation Signed-off-by: Alexandru Vasile <[email protected]> * Remove `maybe_accept` wrapper Signed-off-by: Alexandru Vasile <[email protected]> * Update comments and documentation Signed-off-by: Alexandru Vasile <[email protected]> * Update core/src/server/rpc_module.rs Co-authored-by: Niklas Adolfsson <[email protected]> * Update core/src/server/rpc_module.rs Co-authored-by: Niklas Adolfsson <[email protected]> * rpc_server: Add type alias for unsubscription calls Signed-off-by: Alexandru Vasile <[email protected]> * rpc_server: Improve comment regarding dropped error Signed-off-by: Alexandru Vasile <[email protected]> * style: Single line return errors Signed-off-by: Alexandru Vasile <[email protected]> * Make comment more verbose Co-authored-by: Niklas Adolfsson <[email protected]> Co-authored-by: James Wilson <[email protected]>
-
- Jun 22, 2022
-
-
tgmichel authored
* Remove `deny_unknown_fields` * Update invalid request tests * Remove `is_not_request_object` field from req in test * Remove `deny_unknown_fields` from `Response` * Add test to verify unknown field results in valid request
-
- Jun 21, 2022
-
-
Niklas Adolfsson authored
To include the bugfix for `tracing::enabled!` when `log` is enabled. Follow up on #722
-
Niklas Adolfsson authored
* less verbose logging + tracing based on method name * add tracing per rpc call * fix nits * remove unsed feature * fix build * http make logging more human friendly * unify logging format * deps: make tracing hard dependency * fix tests * fix nit * fix build * fix nits * Update core/src/client/async_client/mod.rs * Update core/Cargo.toml * Update core/src/lib.rs
-
- Jun 14, 2022
-
-
Alexandru Vasile authored
* ws-server: Fix copyright for tests Signed-off-by: Alexandru Vasile <[email protected]> * rpc_module: Return a resource builder when subscribing Registering a subscription returns the subscription' callback wrapped into a `MethodResourcesBuilder` for resource limiting purposes. Signed-off-by: Alexandru Vasile <[email protected]> * tests: Fix `register_subscription` tests Signed-off-by: Alexandru Vasile <[email protected]> * server: Drop `ResourceGuard` with `SubscriptionSink` for resource limit Signed-off-by: Alexandru Vasile <[email protected]> * tests: Check resource limits for subscription Signed-off-by: Alexandru Vasile <[email protected]> * proc-macros: Render resource limits for subscription macro Signed-off-by: Alexandru Vasile <[email protected]> * tests: Extend subscription limiting test via macro generation Signed-off-by: Alexandru Vasile <[email protected]> * core: Check if the `unsubscribe` method was already inserted Signed-off-by: Alexandru Vasile <[email protected]> * tests: Fix unsupported fields for subscriptions Signed-off-by: Alexandru Vasile <[email protected]> * server: Verify subscription methods before registering them Signed-off-by: Alexandru Vasile <[email protected]> * Update test comment for subscription limiting Signed-off-by: Alexandru Vasile <[email protected]> * Modify tests comments Signed-off-by: Alexandru Vasile <[email protected]>
-
Niklas Adolfsson authored
* chore(release): v0.14.0 * Update CHANGELOG.md * Update CHANGELOG.md
-
- Jun 13, 2022
-
-
Niklas Adolfsson authored
* fix(servers): more descriptive errors calls fail Closing #775 * fix tests * rename constants * address grumbles
-
Niklas Adolfsson authored
* initial rewrite to re-use HTTP access control * clean things up * Update core/src/error.rs * Update core/src/error.rs * allow origin: add back removed Display impl * cleanup again * Update http-server/src/lib.rs * Update examples/examples/cors_server.rs * Update core/src/server/access_control/mod.rs Co-authored-by: Tarik Gul <[email protected]> * Update http-server/src/server.rs Co-authored-by: Tarik Gul <[email protected]> * fix bad comment * remove todo * fix grumbles * more grumbles * rename and document a bit * remove `Access-Control-Allow-Origin` in whitelist * fix nit: pub(super) * fix bad naming Co-authored-by: Tarik Gul <[email protected]>
-
Niklas Adolfsson authored
-
- Jun 03, 2022
-
-
Alexandru Vasile authored
* ws-server: Submit ping regardless of WS messages Signed-off-by: Alexandru Vasile <[email protected]> * use tokio_stream::IntervalStream for less boxing Co-authored-by: Niklas Adolfsson <[email protected]>
-
- May 27, 2022
-
-
Alexandru Vasile authored
* ws-server: Implement `ping-ping` Signed-off-by: Alexandru Vasile <[email protected]> * ws-server: Set builder's ping_interval Signed-off-by: Alexandru Vasile <[email protected]> * ws-server: Handle just `ping` frames Signed-off-by: Alexandru Vasile <[email protected]> * ws-server: Simplify `select` Signed-off-by: Alexandru Vasile <[email protected]> * Use `futures_util::select` instead of `select!` macro Signed-off-by: Alexandru Vasile <[email protected]> * ws-server: Avoid pinning the delay Signed-off-by: Alexandru Vasile <[email protected]> * ws-server: Log when a `Pong` frame is received Signed-off-by: Alexandru Vasile <[email protected]> * ws-server: Use tokio for submitting pings Signed-off-by: Alexandru Vasile <[email protected]>
-
- May 25, 2022
-
-
Alexander Polakov authored
-
- May 13, 2022
-
-
Niklas Adolfsson authored
* chore(release): v0.13.1 * Update CHANGELOG.md * Update CHANGELOG.md Co-authored-by: Tarik Gul <[email protected]> * Update CHANGELOG.md Co-authored-by: Tarik Gul <[email protected]>
-
- May 11, 2022
-
-
Niklas Adolfsson authored
* chore(release): v0.13.0 * Update CHANGELOG.md
-
- May 06, 2022
-
-
Niklas Adolfsson authored
-
- May 04, 2022
-
-
Igor Aleksanov authored
-
- May 03, 2022
-
-
Niklas Adolfsson authored
* feat: limit the number of subscriptions Closing #729 * fix nit * Update core/src/server/helpers.rs * add integration tests + some fixes so it works * cargo fmt * fix doc links * Unsubscribe calls should avoid subscription limits Point to Tokio 1.16 (we use a method from it), and a little special treatment for unsubscribe methods * No resource limiting for Unsubscribe calls * Test that we can still unsubscribe after hitting a limit * Fix a comment typo Co-authored-by: Alexandru Vasile <[email protected]> * Update core/src/server/rpc_module.rs * Update core/src/server/rpc_module.rs Co-authored-by: James Wilson <[email protected]> Co-authored-by: Alexandru Vasile <[email protected]>
-
- Apr 21, 2022
-
-
Niklas Adolfsson authored
* chore(release): v0.11.0 * remove unused deps * docs: rephrase bad english * Update CHANGELOG.md * update publish script * Update CHANGELOG.md Co-authored-by: David <[email protected]> * Update CHANGELOG.md Co-authored-by: David <[email protected]> * Update CHANGELOG.md Co-authored-by: David <[email protected]> Co-authored-by: David <[email protected]>
-
- Apr 20, 2022
-
-
Niklas Adolfsson authored
* feat: untested web-sys transport * rewrite me * make it work * add hacks and works :) * add subscription test too * revert StdError change; still works * cleanup * remove hacks * more wasm tests outside workspace * kill mutually exclusive features * merge nits * remove unsafe hack * fix nit * core: fix features and deps * ci: add WASM test * test again * work work * comeon * work work * revert unintentional change * Update core/Cargo.toml Co-authored-by: David <[email protected]> * Update core/src/client/async_client/mod.rs Co-authored-by: David <[email protected]> * revert needless change: std hashmap + fxhashmap works * cleanup * extract try_connect_until fn * remove todo * fix bad merge * add wasm client wrapper crate * fix nits * use gloo-net dependency * fix build * grumbles CI: rename to `wasm_tests` * fix bad merge * fix grumbles * fix nit * comeon CI Co-authored-by: David <[email protected]>
-
Niklas Adolfsson authored
* fix(rpc module): fail subscription with bad params * draft; show my point * fix tests * fix build * add tests for proc macros too * add tests for bad params in proc macros * fix nits * commit all files * add ugly fix for proc macro code * add more user friendly API * make SubscriptionSink::close take mut self * fix grumbles * show james some code * Update core/src/server/rpc_module.rs Co-authored-by: James Wilson <[email protected]> * remove needless clone * fix build * client fix docs + error type * simplify code: merge connect reset and unsubscribe close reason * remove unknown close reason * refactor: remove Error::SubscriptionClosed * add some nice APIs to ErrorObjectOwned * unify api * address grumbles * remove redundant methods for close and reject * proc macro: compile err when subscription -> Result * rpc module: fix test subscription test * Update core/src/server/rpc_module.rs Co-authored-by: James Wilson <[email protected]> * Update core/src/server/rpc_module.rs Co-authored-by: James Wilson <[email protected]> * Update core/src/server/rpc_module.rs Co-authored-by: James Wilson <[email protected]> * Update core/src/server/rpc_module.rs Co-authored-by: James Wilson <[email protected]> * Update core/src/server/rpc_module.rs Co-authored-by: James Wilson <[email protected]> * Update proc-macros/src/lib.rs Co-authored-by: James Wilson <[email protected]> * address grumbles * remove faulty comment * Update core/src/server/rpc_module.rs Co-authored-by: David <[email protected]> * Update core/src/server/rpc_module.rs Co-authored-by: David <[email protected]> * Update core/src/server/rpc_module.rs Co-authored-by: David <[email protected]> * Update core/src/server/rpc_module.rs Co-authored-by: David <[email protected]> * Update core/src/server/rpc_module.rs Co-authored-by: David <[email protected]> * fix: don't send `RPC Call failed: error`. * remove debug assert Co-authored-by: James Wilson <[email protected]> Co-authored-by: David <[email protected]>
-
- Apr 05, 2022
-
-
Niklas Adolfsson authored
* refactor(log): downgrade send errors to warn These logs are most likely related to that the client terminated the connection and they come with significant overhead. * chore(release): v0.10.1
-
Niklas Adolfsson authored
These logs are most likely related to that the client terminated the connection and they come with significant overhead.
-
Niklas Adolfsson authored
* fix(ws server): close all subscriptions * fix test * better comment and longer period * revert unintentional change
-
- Apr 04, 2022
-
-
Niklas Adolfsson authored
* update changelog * update versions v0.10.0 * Update CHANGELOG.md * Update CHANGELOG.md * Update CHANGELOG.md * Update CHANGELOG.md * Update CHANGELOG.md * Update CHANGELOG.md * Update CHANGELOG.md * Update CHANGELOG.md * Update CHANGELOG.md * Update CHANGELOG.md Co-authored-by: Tarik Gul <[email protected]> * Update CHANGELOG.md * Update CHANGELOG.md Co-authored-by: Tarik Gul <[email protected]>
-
- Mar 30, 2022
-
-
Niklas Adolfsson authored
* refactor: get rid off `Error::Request` variant * fix nit * to_owned -> to_call_error
-
- Mar 22, 2022
-
-
Quake Wang authored
* fix: max_request_body_size setting should not override max_response_size * chore: apply review comment
-
- Mar 09, 2022
-
-
David authored
* wip wip wip Use tokio::sync::Notify to signal to the server when a subscriber has gone away without calling unsubscribe * Cleanup * Fmt * More cleanup more TODOs * fmt * Address a few todos * Update core/src/server/rpc_module.rs Co-authored-by: Niklas Adolfsson <[email protected]> * Update ws-server/src/server.rs Co-authored-by: Niklas Adolfsson <[email protected]> * Fix bad merge * Test * fmt * fix test * Finish test * Cleanup Add a second subscription to serverless test * Update tests/tests/integration_tests.rs Co-authored-by: Niklas Adolfsson <[email protected]> * simplify test * Review feedback: avoid allocations * cleanup * Remove async-channel * remove async-channel deps Co-authored-by: Niklas Adolfsson <[email protected]>
-
- Feb 22, 2022
-
-
Niklas Adolfsson authored
* fix(rpc module): unsubscribe ethereum pubsub spec * update docs * fix clippy * fix tests
-
- Feb 11, 2022
-
-
dependabot[bot] authored
Updates the requirements on [tokio-util](https://github.com/tokio-rs/tokio) to permit the latest version. - [Release notes](https://github.com/tokio-rs/tokio/releases) - [Commits](https://github.com/tokio-rs/tokio/commits ) --- updated-dependencies: - dependency-name: tokio-util dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
- Feb 03, 2022
-
-
David authored
* Release prep for v0.9 * Update CHANGELOG Don't dry-run when releasing * Tweak release notes * Update CHANGELOG.md Co-authored-by: Niklas Adolfsson <[email protected]> Co-authored-by: Niklas Adolfsson <[email protected]>
-
- Feb 01, 2022
-
-
Niklas Adolfsson authored
* refactor(ws server): set_id_provider `Box<dyn>` * address grumbles: thanks James * relax trait bounds with ?Sized * Update ws-server/src/tests.rs * add docs
-
- Jan 21, 2022
-
-
Niklas Adolfsson authored
* feat(rpc module): add_stream to subscription sink * fix some nits * unify parameters to rpc methods * Update core/src/server/rpc_module.rs * Update tests/tests/integration_tests.rs Co-authored-by: David <[email protected]> * address grumbles * fix subscription tests * new type for `SubscriptionCallback` and glue code * remove unsed code * remove todo * add missing feature tokio/macros * make `add_stream` cancel-safe * rename add_stream and return status * fix nits * rename stream API -> streamify * Update core/src/server/rpc_module.rs * provide proper close reason * spelling * consume_and_streamify + docs * fmt * rename API pipe_from_stream * improve logging; indicate which subscription method that failed Co-authored-by: David <[email protected]>
- Dec 22, 2021
-
-
Niklas Adolfsson authored
* chore: release v0.7.0 * Update CHANGELOG.md * Update CHANGELOG.md * update changelog * Tweak CHANGELOG * re-export core for clients as well Co-authored-by: David Palm <[email protected]>
-
Niklas Adolfsson authored
Implies MSRV 1.56.x
-
- Dec 21, 2021
-
-
Niklas Adolfsson authored
* PoC * introduce IdProvider trait * revert Cow stuff * Update ws-server/src/server.rs * fix tests * cargo fmt * use 'static lifetime in SubscriptionId * fix tests * fmt * make tests compile again * fix tests * Fix tests * Move IdProvider impls to own module * move `sub-id gen` types to `core` * fix doc links * make rand non-optional dep * feature gate: id provider Co-authored-by: David Palm <[email protected]>
-