- 03 Aug, 2022 1 commit
-
-
Niklas Adolfsson authored
Closing https://github.com/paritytech/jsonrpsee/issues/838
-
- 06 Jul, 2022 1 commit
-
-
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
-
- 29 Jun, 2022 1 commit
-
-
Alexandru Vasile authored
* subscription: Allow errors in subscription callbacks Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * subscription: Remove the need to own the error Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * error: Build `ErrorObject` from `CallError` for improved ergonomics Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Update examples for the new subscription API Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Add alias for subscription result Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * macros: Render server subscription method with `ResultSubscription` Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Port `proc_macro` example to new API Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Rename `ResultSubscription` to `ReturnTypeSubscription` to avoid confusion Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Port all tests to new subscription API Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Update documentation Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Port benches Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Replace tabs with spaces & add documentation Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Add dummy error for subscriptions Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Implement `From` for `SubscriptionError` Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Return `SubscriptionError` when parsing params Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Rename `SubscriptionError` to `SubscriptionEmptyError` Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Change `accept` signature Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Port tests to new `accept` api Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Implement `pipe_from_try_stream` and `pipe_from_stream` for `PendingSubscription` Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Modify examples to ilustrate new API Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Fix docs tests Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Rename previously `SubscriptionResult` -> `InnerSubscriptionResult` Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Rename `ReturnTypeSubscription` -> `SubscriptionResult` Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Remove documentation line Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Implement `PipeFromStreamResult` Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Add comment for empty error Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Update proc-macros/src/lib.rs Co-authored-by:
Niklas Adolfsson <niklasadolfsson1@gmail.com> * Update proc-macros/src/lib.rs Co-authored-by:
Niklas Adolfsson <niklasadolfsson1@gmail.com> * Update proc-macros/src/lib.rs Co-authored-by:
Niklas Adolfsson <niklasadolfsson1@gmail.com> * Change `ReturnTypeSubscription` -> `SubscriptionResult` Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Add `ResultConsumed` for `PipeFromStreamResult` Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Update examples to use `PipeFromStreamResult` Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Replace ConsumedResult with Options Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Log warning when subscription callback fails Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Change ubuntu test names Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * server: Make `pipe` methods of `SubscriptionSink` private Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * server: Remove `pipe_from_stream` method of `SubscriptionSink` Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * server: Update PipeFromStreamResult documentation Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Adjust tests to `SubscriptionSink::pipe_from_stream` private interface Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Add `accept-reject` API on `SubscriptionSink` Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Make `pipe_from_try_stream` public Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Maybe accept the subscription Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * 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 <alexandru.vasile@parity.io> * Pass `SubscriptionSink` to subscription callbacks Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Implement subscription sink state Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Submit `InvalidParams` if sink was never accepted Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Handle rejected sinks Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Remove `PendingSubscription` Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Fix doc tests Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * macro: Make subscription sink mutable Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Fix tests and examples Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * macro: Return `sink.reject()` result Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * tests: Add test for `SubscriptionSinkState` Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Test internal subscription sink state Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Fix `send_error` to not always return `false` Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Fix benches Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Remove `PipeFromStreamResult` Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Use valid Json-RPC return code for test errors Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Remove `SubscriptionSinkState`" * Remodel state machine using `Option`s for `SubscriptionSink`s Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * tests: Double accept / reject API for `SubscriptionSink` Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Implement `SubscriptionAcceptRejectError` for error propagation Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Remove `maybe_accept` wrapper Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Update comments and documentation Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Update core/src/server/rpc_module.rs Co-authored-by:
Niklas Adolfsson <niklasadolfsson1@gmail.com> * Update core/src/server/rpc_module.rs Co-authored-by:
Niklas Adolfsson <niklasadolfsson1@gmail.com> * rpc_server: Add type alias for unsubscription calls Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * rpc_server: Improve comment regarding dropped error Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * style: Single line return errors Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Make comment more verbose Co-authored-by:
Niklas Adolfsson <niklasadolfsson1@gmail.com> Co-authored-by:
James Wilson <james@jsdw.me>
-
- 14 Jun, 2022 1 commit
-
-
Alexandru Vasile authored
* ws-server: Fix copyright for tests Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * 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 <alexandru.vasile@parity.io> * tests: Fix `register_subscription` tests Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * server: Drop `ResourceGuard` with `SubscriptionSink` for resource limit Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * tests: Check resource limits for subscription Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * proc-macros: Render resource limits for subscription macro Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * tests: Extend subscription limiting test via macro generation Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * core: Check if the `unsubscribe` method was already inserted Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * tests: Fix unsupported fields for subscriptions Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * server: Verify subscription methods before registering them Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Update test comment for subscription limiting Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Modify tests comments Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io>
-
- 13 Jun, 2022 1 commit
-
-
Niklas Adolfsson authored
-
- 20 Apr, 2022 1 commit
-
-
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 <james@jsdw.me> * 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 <james@jsdw.me> * Update core/src/server/rpc_module.rs Co-authored-by:
James Wilson <james@jsdw.me> * Update core/src/server/rpc_module.rs Co-authored-by:
James Wilson <james@jsdw.me> * Update core/src/server/rpc_module.rs Co-authored-by:
James Wilson <james@jsdw.me> * Update core/src/server/rpc_module.rs Co-authored-by:
James Wilson <james@jsdw.me> * Update proc-macros/src/lib.rs Co-authored-by:
James Wilson <james@jsdw.me> * address grumbles * remove faulty comment * Update core/src/server/rpc_module.rs Co-authored-by:
David <dvdplm@gmail.com> * Update core/src/server/rpc_module.rs Co-authored-by:
David <dvdplm@gmail.com> * Update core/src/server/rpc_module.rs Co-authored-by:
David <dvdplm@gmail.com> * Update core/src/server/rpc_module.rs Co-authored-by:
David <dvdplm@gmail.com> * Update core/src/server/rpc_module.rs Co-authored-by:
David <dvdplm@gmail.com> * fix: don't send `RPC Call failed: error`. * remove debug assert Co-authored-by:
James Wilson <james@jsdw.me> Co-authored-by:
David <dvdplm@gmail.com>
-
- 30 Mar, 2022 1 commit
-
-
Niklas Adolfsson authored
* refactor: get rid off `Error::Request` variant * fix nit * to_owned -> to_call_error
-
- 09 Mar, 2022 1 commit
-
-
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 <niklasadolfsson1@gmail.com> * Update ws-server/src/server.rs Co-authored-by:
Niklas Adolfsson <niklasadolfsson1@gmail.com> * 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 <niklasadolfsson1@gmail.com> * simplify test * Review feedback: avoid allocations * cleanup * Remove async-channel * remove async-channel deps Co-authored-by:
Niklas Adolfsson <niklasadolfsson1@gmail.com>
-
- 21 Jan, 2022 2 commits
-
-
David authored
Add a method to RpcModule that transforms the module into a `RpcModule<()>`, i.e. removes the context. (#660) * Add a method to RpcModule, `decontextualize`, that transforms the module into a `RpcModule<()>`, i.e. removes the context. * Merging a module with an empty module cannot fail * fmt * Address grumbles * Cleanup macro * Update core/src/server/rpc_module.rs Co-authored-by:
Maciej Hirsz <1096222+maciejhirsz@users.noreply.github.com> Co-authored-by:
Maciej Hirsz <1096222+maciejhirsz@users.noreply.github.com>
-
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 <dvdplm@gmail.com> * 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 <dvdplm@gmail.com>
-
- 21 Dec, 2021 1 commit
-
-
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 <dvdplm@gmail.com>
-
- 17 Dec, 2021 1 commit
-
-
Maciej Hirsz authored
* Nuke V2 * fmt * Formatting and imports * Updated benches * Fix doc comment link * Brace imports in ws-server * Reworking imports * std first * fmt * std on top * Update to match changed line numbers * Rename jsonrpsee_utils -> jsonrpsee_core * Migrating things types -> core * RpcError -> ErrorResponse * Merge types::client into core::client * Continued move types -> core * Removing features to make checks pass * Move rpc_module tests to tests crate * Fixed doc comment links * Add futures-util dependency for client * Remove dead code Co-authored-by:
Niklas Adolfsson <niklasadolfsson1@gmail.com> * fmt * Feature gate the Client trait * Move `Client` traits to `client` module Co-authored-by:
Niklas Adolfsson <niklasadolfsson1@gmail.com>
-