- 05 Oct, 2022 2 commits
-
-
Niklas Adolfsson authored
-
dependabot[bot] authored
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.0.2 to 3.1.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3.0.2...v3.1.0 ) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by:
dependabot[bot] <support@github.com> Signed-off-by:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
- 11 Aug, 2022 1 commit
-
-
Alexandru Vasile authored
* Fix cargo clippy Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * ci: Deny clippy warning Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Replace clippy by `clippy-check` Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io>
-
- 08 Aug, 2022 1 commit
-
-
dependabot[bot] authored
Bumps [Swatinem/rust-cache](https://github.com/Swatinem/rust-cache) from 1.4.0 to 2.0.0. - [Release notes](https://github.com/Swatinem/rust-cache/releases) - [Changelog](https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md) - [Commits](https://github.com/Swatinem/rust-cache/compare/v1.4.0...v2.0.0 ) --- updated-dependencies: - dependency-name: Swatinem/rust-cache dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
- 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>
-
- 22 Jun, 2022 1 commit
-
-
Alexandru Vasile authored
Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io>
-
- 23 May, 2022 1 commit
-
-
dependabot[bot] authored
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.4.0 to 3.0.2. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2.4.0...v3.0.2 ) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
- 13 May, 2022 1 commit
-
-
Niklas Adolfsson authored
* fix: generate docs for all features * ci: check for --cfg docsrs * fix nit: rustdoc::broken_intra_doc_links
-
- 20 Apr, 2022 1 commit
-
-
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 <dvdplm@gmail.com> * Update core/src/client/async_client/mod.rs Co-authored-by:
David <dvdplm@gmail.com> * 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 <dvdplm@gmail.com>
-
- 12 Apr, 2022 1 commit
-
-
dependabot[bot] authored
Bumps [Swatinem/rust-cache](https://github.com/Swatinem/rust-cache) from 1.3.0 to 1.4.0. - [Release notes](https://github.com/Swatinem/rust-cache/releases) - [Changelog](https://github.com/Swatinem/rust-cache/blob/v1/CHANGELOG.md) - [Commits](https://github.com/Swatinem/rust-cache/compare/v1.3.0...v1.4.0 ) --- updated-dependencies: - dependency-name: Swatinem/rust-cache dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
- 02 Mar, 2022 1 commit
-
-
dependabot[bot] authored
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.4.0 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2.4.0...v3 ) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
- 18 Feb, 2022 1 commit
-
-
Denis Pisarev authored
Co-authored-by: CI system <>
-
- 16 Feb, 2022 1 commit
-
-
Denis Pisarev authored
* CI: try nextest * CI: nextest for mac and wim Co-authored-by: CI system <>
-
- 09 Nov, 2021 1 commit
-
-
dependabot[bot] authored
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.5 to 2.4.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2.3.5...v2.4.0 ) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
- 05 Nov, 2021 1 commit
-
-
Niklas Adolfsson authored
* ci: test each feature individually * fix nit: --all-targets is an arg * fix rustdoc link * get rid of cargo hack test; too slow
-
- 18 Oct, 2021 1 commit
-
-
dependabot[bot] authored
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.4 to 2.3.5. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2.3.4...v2.3.5 ) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
- 13 Aug, 2021 1 commit
-
-
Niklas Adolfsson authored
Co-authored-by:
David Palm <dvdplm@gmail.com>
-
- 25 Jun, 2021 1 commit
-
-
Niklas Adolfsson authored
* [ci]: test each crate outside workspace We have bitten by these a few times now with that some features are leaked from the workspace which makes it compile in the workspace but not using it's own Cargo.toml. * [ci]: add tests for macos and windows * add missed `WsServer` and `HttpServer` * [ws server]: fix features * debug failure in CI * remove platform dependent assertion * fix nit; proc-macros is proc-macros * restore removed assertion * remove whitespaces
-
- 31 May, 2021 1 commit
-
-
dependabot[bot] authored
Bumps [Swatinem/rust-cache](https://github.com/Swatinem/rust-cache) from 1.2.0 to 1.3.0. - [Release notes](https://github.com/Swatinem/rust-cache/releases) - [Changelog](https://github.com/Swatinem/rust-cache/blob/v1/CHANGELOG.md) - [Commits](https://github.com/Swatinem/rust-cache/compare/v1.2.0...v1.3.0 ) Signed-off-by:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
- 12 May, 2021 4 commits
-
-
dependabot[bot] authored
Bumps [actions-rs/toolchain](https://github.com/actions-rs/toolchain) from 1 to 1.0.7. - [Release notes](https://github.com/actions-rs/toolchain/releases) - [Changelog](https://github.com/actions-rs/toolchain/blob/master/CHANGELOG.md) - [Commits](https://github.com/actions-rs/toolchain/compare/v1...v1.0.7 ) Signed-off-by:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
dependabot[bot] authored
Bumps [actions-rs/cargo](https://github.com/actions-rs/cargo) from 1 to 1.0.3. - [Release notes](https://github.com/actions-rs/cargo/releases) - [Changelog](https://github.com/actions-rs/cargo/blob/master/CHANGELOG.md) - [Commits](https://github.com/actions-rs/cargo/compare/v1...v1.0.3 ) Signed-off-by:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
dependabot[bot] authored
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 2.3.4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...v2.3.4 ) Signed-off-by:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
Denis_P authored
-
- 11 May, 2021 1 commit
-
-
Niklas Adolfsson authored
* [ci]: fix workflow to run * Update ci.yml * Update ci.yml * Update ci.yml
-
- 29 Apr, 2021 1 commit
-
-
Chevdor authored
* Fix clippy warning and enforce no warning in the CI * Fix clippy issue due to a pending TODO * Return an Err if attributes are equal * Remove clippy args * Fix typos and test names Co-authored-by:
David Palm <dvdplm@gmail.com>
-
- 26 Apr, 2021 1 commit
-
-
Niklas Adolfsson authored
-
- 13 Apr, 2021 1 commit
-
-
dependabot[bot] authored
Bumps [actions/cache](https://github.com/actions/cache) from v2.1.4 to v2.1.5. - [Release notes](https://github.com/actions/cache/releases) - [Commits](https://github.com/actions/cache/compare/v2.1.4...1a9e2138d905efd099035b49d8b7a3888c653ca8 ) Signed-off-by:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
- 15 Feb, 2021 1 commit
-
-
Niklas Adolfsson authored
* feat(http client): support tokio02 via hyper 0.13 * fix: address review suggestions. * [ci]: update to work again * deps(http client): remove unused hyper features * grumbles: replace \" with ` in compile_error!
-
- 12 Feb, 2021 1 commit
-
-
Niklas Adolfsson authored
This reverts commit ce1625b7.
-
- 10 Feb, 2021 1 commit
-
-
Niklas Adolfsson authored
* [http client] use surf instead of hyper * user exposed features * feature for surf middleware logging * feature flag WASM support * update ci * fix ci nit; install wasm32 * Update http-client/src/transport.rs Co-authored-by:
Maciej Hirsz <1096222+maciejhirsz@users.noreply.github.com> Co-authored-by:
Maciej Hirsz <1096222+maciejhirsz@users.noreply.github.com>
-
- 08 Feb, 2021 1 commit
-
-
dependabot[bot] authored
Bumps [actions/cache](https://github.com/actions/cache) from v2 to v2.1.4. - [Release notes](https://github.com/actions/cache/releases) - [Commits](https://github.com/actions/cache/compare/v2...26968a09c0ea4f3e233fdddbafd1166051a095f6 ) Signed-off-by:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
- 18 Jan, 2021 1 commit
-
-
Niklas Adolfsson authored
* update http example * ungeneric crate * update dependencies * [client]: add WebSocket client again. * [deps]: remove needless dev dependencies * nits: forgot to commit new files * [ws client]: `send_text` instead of `send_binary` This is temporary fix to work with the `server` which assumes that `WebSocket` resonses are `text` * chore: add a bunch of more logging * [ws]: port tests but some are failing. * chore: fmt * [server API]: expose `fn local_addr` as public API. * [tests]: make them less ugly by using `127.0.0.1:0` * fix: a bunch of compiler warnings. * [api]: uniform naming, `bind -> new` in transport. * [websocket server]: reply when deserial fails When the server receives an request with invalid JSON `-32700, Parse error shall be returned` * chore: fmt * [tests]: fix remaining tests * [websocket server]: support `binary` and `text` * [ws server]: fix bug in subscription response. `.await` was missing in RegisteredSubscription::send() and no responses were actually sent which this commit fixes. * [client API]: export `WsSubscription` * [examples]: use `localhost` instead of `127.0.0.1` Hostname is required when using `wss` and `127.0.0.1` is not valid hostname. * [examples]: add subscription example. * chore: fmt * [ws server]: fix bug register new subscription. Fixes newly introduced bug that causes `register_subscription` to have side-effects even if the subscription fails. * fmt * more uniform logs * [ws server]: simple subscription test. * [ws server]: subscription tests improved. * [tests]: extract test helpers to a separate crate (#125) * [ws server]: don't close connection when `deserialization` fails (#131) * [ws server]: don't close conn. when `deser` fails * Update src/ws/transport.rs * grumbles: prefer matching of if else. * chore: CI warn `intra_doc_link_resolution_failure` (#139) Since we have not updated the documentation properly it's annoying that the entire job fails. * chore: rustfmt.toml (#138) * chore: add `rustfmt.toml` for formatting * style: `cargo fmt --all` with new config * [server raw params]: fix debug implementation (#137) * [server]: simply raw params impl Use debug implementation of `common::Params` instead of doing something similar that doesn't work properly. * [raw params]: derive `Debug` impl. * [ws server]: parse subscription ID for unsubscription instead of hardcoding `JsonValue::Null` (#136) * [ws server]: fix broken unsubscribe. Try to parse the subscription ID as the first element of an Array or the `subscription` field of an Object/Map. If both of those fails then regard it as a error. * fmt * fix grumbles: remove space indentation * fix(ws server): sub/unsubscribe to same method should generate an error (#140) * fix(ws server): sub/unsubscribe to same method err Subscribe and unsubscribe to the same method should generate an error, which this commit fixed. This bug was introduced by myself in https://github.com/paritytech/jsonrpsee/commit/fc87889de2615dbb3d0cf2d91a306f016d48df2d * Update src/ws/server.rs Co-authored-by:
David <dvdplm@gmail.com> Co-authored-by:
David <dvdplm@gmail.com> * chore: add naive benches for request/response (#142) Co-authored-by:
Niklas <niklasadolfsson1@gmail.com> * fix(ws server): remove faulty debug_assert (#145) The code assumed that `subscription id` is still in `active_subscriptions` when the connection was dropped. The list of subscriptions (kept in raw server) are not notified when a client dropped its subscription/unsubscribed thus it's possible that the actual subscriptions are closed before the entire client was dropped. * ci(benches): cargo check on benches. (#146) * fix(http client): implement `clone` uniform API. (#147) * chore(deps): update `futures v0.3.7` (#148) * chore(deps): update remaining crates (#149) * chore(deps): update `futures v0.3.7` * chore(deps): bump the rest of deps * Improve HTTP client background thread (#150) * refactor: resultify API + some crate reorg (#144) * [ws client]: resultify API and fix subscribe. * The commit changes the API to return `Err` when it's possible and to not ignore underlying errors. * Fix that `fn subscribe` doesn't accept the subscription and unsubscription to be same which causes errors in the server. * nits: Err::SubscriptionMetod -> Err::Subscription * refactor(client): common error type * refactor(http client): resultify * refactor(common): rename common -> types.. This commit renames the `common module` to `types` and tries to distinguish the types that is directly related to the `JSON-RPC v2 specification` from others. Somethings are a little big sloppy named as naming is hard. Also, as bonus a removed a bunch of needless stuff in http server related to subscription. * Update src/ws/tests.rs * style: cargo fmt * fix(grumble): matches -> assert(matches) * fix(grumbles): `jsonrpc_v2` -> `jsonrpc` * fix(nit): remove unused code. * fix(benches): make it compile again. * style: cargo fmt * fix nits (#151) * fix(ws client): send binary (1 byte less payload) * docs(ws server): fix bad comment. * chore: add `editorconfig` (#152) * chore: make `debug log` less verbose. (#153) * chore: make `debug log` less verbose. The debug logging was just too verbose and this commit simplies it as follows: ``` DEBUG recv: {"jsonrpc":"2.0","method":"<METHOD>","params":<PARAMS>,"id":<ID>} DEBUG send: {"jsonrpc":"2.0","result":"<RESULT>","id":<ID>} ``` * style: cargo fmt * fix: missed logs * [jsonrpc types]: implement Display for Request/Response (#160) * feat(jsonrpc response/request): impl `Display` * refactor(logging): use display impl * use serde_json for verbosity * [http client]: refactor with "syncronous-like" design (#156) * experimental * ci(benches): sync and concurrent roundtrips Improve benchmarks to take concurrent requests into account. * ci(benches): sync and concurrent roundtrips Improve benchmarks to take concurrent requests into account. * fix(nits) * feat(http client): limit max request body size * test(http transport): request limit test * test(http client): add tests. * fix typo * fix(benches): make it compile again. * fix(ws example): revert unintentional change. * test(http client): subscription response on call. * fix(cleanup) * fix(benches): make it compile again. * Update src/client/http/transport.rs * fix(http client): `&str` -> `AsRef<str>` * docs(client types): better docs for Mismatch type. * style: `Default::default` -> `HttpConfig::default` * fix(http client): read body size from header. Expermential to read number of bytes from `HTTP Content Length` to pre-allocate the number of bytes and bail early if the length is bigger than the `max_request_body size` Need to be benched with bigger requests. * test(raw http): enable tests to works again. * style: cargo fmt * benches: address grumbles * feat(jsonrpc response/request): impl `Display` * refactor(logging): use display impl * fix(http client): nits. * Update benches/benches.rs * fix bad merge. * chore(deps): update dependencies. (#164) * feat(http server): configurable request body limit (#162) * feat(http server): configurable request body limit * refactor(crate reorg): to have shared http helpers. * Merge client and server errors. * Move `http_server_utils` to `utils/http` * Minor cleanup * fix nits * fix(hyper helper): u64 -> u32 * Update src/utils/http/hyper_helpers.rs Co-authored-by:
David <dvdplm@gmail.com> * Update src/utils/http/hyper_helpers.rs Co-authored-by:
David <dvdplm@gmail.com> * fix: grumbles * Update src/utils/http/hyper_helpers.rs Co-authored-by:
David <dvdplm@gmail.com> * Update src/http/server.rs Co-authored-by:
David <dvdplm@gmail.com> Co-authored-by:
David <dvdplm@gmail.com> * ci: remove nightly (#167) Use stabilized `broken_intra_doc_links` instead of `intra_doc_link_resolution_failure` * fix(websocket client): drop subscriptions that can't keep up with the internal buffer size (#166) * fix(ws client): drop subscriptions when full. This commit changes the behavior in the `WebSocket Client` where each subscription channel is used in a non-blocking matter until it is determined as full or disconnected. When that occurs the channel is simply dropped and when the user `poll` the subscription it will return all sent subscriptions before it was and terminate (return None) once it's polled one last time. Similarly as `Streams` works in Rust. It also adds configuration for the `WebSocket Client` to configure capacity for the different internal channels to avoid filling the buffers when it's not expected. * tests(ws client): simple subscription test. * fix: nits * Update src/client/ws/client.rs * refactor(tests): introduce integration_tests Make the repo structure more understable w.r.t testing. * chore(license): add missing license headers * Update src/client/ws/client.rs * Update src/client/ws/client.rs * style: remove unintended spaces. * tests: add concurrent deadlock test Ensure that if more than the requested channel buffer capacity is exceeded it should not deadlock. Such as spawning alot of concurrent requests, notifications or new subscriptions. * Update src/client/ws/client.rs * fix: review grumbles * fix nits: `remove needless closure` * fix: cargo fmt * Update src/client/ws/client.rs Co-authored-by:
David <dvdplm@gmail.com> * fix more nits Co-authored-by:
David <dvdplm@gmail.com> * fix(ws client): embed request id in `SubscriptionClosed` (#170) * fix(ws client): embed request id SubscriptClosed Fixes https://github.com/paritytech/jsonrpsee/issues/169 * Update src/client/ws/client.rs * Update src/client/ws/client.rs Co-authored-by:
David <dvdplm@gmail.com> * Update src/client/ws/client.rs Co-authored-by:
David <dvdplm@gmail.com> Co-authored-by:
David <dvdplm@gmail.com> * chore(deps): bump dependencies (#172) * [ws client]: add tests (#134) * [test utils]: add `internal_err` and consts [errors]: unify client/server errors [test utils]: fake WebSocket jsonrpc server [ws client]: export errors [ws client]: add some basic tests * fmt * remove log target * fix nits * [ws client]: add subscription test * revert unintendend changes. * fmt * [ws client]: fix panic in tests * cleanup * tests(ws client): test for invalid request ID. * fix nits * [ws client]: kill raw client (#171) * getting started * WIP WIP * cleanup * cleanup v2 * cleanup v3 * perf: use BufReader BufWriter * fix(request manager): resultify insert API The rationale behind this change is that the `insert_methods` takes ownership of the `send_back_oneshot` and if the operation fails it should be propagated the frontend. So returning the `Err(send_back_oneshot)` if it fails makes it possible. * fix nits * examples(ws): revert changes * Update tests/integration_tests.rs * nits: fix unwraps * Update src/client/ws/manager.rs Co-authored-by:
David <dvdplm@gmail.com> * Update src/client/ws/transport.rs Co-authored-by:
David <dvdplm@gmail.com> * Update src/client/ws/client.rs Co-authored-by:
David <dvdplm@gmail.com> * fix build * refactor: simplify `Error::InvalidRequestId` It was hard to use when the expected id is not known. * fix(ws client): error handling. * fix(grumble error type): better error message. * fix(grumble): docs `JSONRPC WebSocket transport` * fix(ws manager): fix grumbles. * Add better documentation * Rename methods. * Add `proof` to unreachable! * fix(ws manager): fix nit in docs. * fix(grumbles): ws client * fix more nits * fix compile warning: export websocket transports. * Update src/client/ws/manager.rs Co-authored-by:
David <dvdplm@gmail.com> * deps: tokio 1.0 and hyper 0.14 (#176) * deps: tokio 1.0 and hyper 0.14 * Update Cargo.toml * refactor: crate re-organization with separate crates (#177) * [ci]: feature `http` and `ws` removed. * refactor: re-org crate with smaller crates. * fmt * [ci]: remove default features Currently there are no features in the crates, so that check is not needed. * [http client]: remove unused dependency tokio * docs(http client): fix nits tokio 0.2 -> tokio 1.0 (#178) * docs(http client): tokio 0.2 -> tokio 1.0 * fix: better link * [ci]: github actions (#179) * docs(http client): tokio 0.2 -> tokio 1.0 * [ci]: remove travis * [ci]: add github actions. * [ci]: fix identation nits * [ci]: use cache for actions * [ci]: filter to clippy * [ci]: remove hacks * separate action for ci and benchmarks * [ci]: tweak to run on master branch. * examples/subscription -> examples/ws_subscription * force CI Co-authored-by:
David <dvdplm@gmail.com> Co-authored-by:
Maciej Hirsz <1096222+maciejhirsz@users.noreply.github.com> Co-authored-by:
Atkins <atkinschang@gmail.com>
-