- Sep 16, 2021
-
-
David authored
* Re-export v2::params, error, request and response types * Use shallow type paths
-
Niklas Adolfsson authored
-
- Sep 15, 2021
-
-
David authored
* Renames * More renames * fmt * s/RpcParams/Params/ * Add a type alias `SubscriptionResponse` to `Notification` which is parametrized to `SubscriptionPayload` Move `SubscriptionResponse` to the `response` module * Fix doc links * Cleanup and some docs * Review feedback * cleanup
-
- Sep 14, 2021
-
-
David authored
* Add a test illustrating how to use the `call` convenience method * Extend test + review feedback * log * log * log * log * log * log * log * log * log * log * log * log * log * log * log * Add Methods::test_subscription Log more when params parsing fails * Add call_with test helper (ty @niklas!) + cleanup * Remove todo (part of https://github.com/paritytech/jsonrpsee/issues/457 ) * fmt * Let `test_subscription` be called from other crates * Manually fix indentation * fmt * SSself-review grumbles * CallError::InvalidParams carries an anyhow::Error * fmt * Tweak docs * Update utils/src/server/rpc_module.rs Co-authored-by: Niklas Adolfsson <[email protected]> * review grumble * Fix todos * fmt * Fixup error messages * Include source in the error message for `CallError` * fmt * Update proc-macros/src/render_server.rs Co-authored-by: Maciej Hirsz <[email protected]> * Mention needing jsonrpsee crate in scope * Resolve todo * Impl ToRpcParams for 0-sized array * optimized logging Co-authored-by: Niklas Adolfsson <[email protected]> Co-authored-by: Maciej Hirsz <[email protected]>
-
- Sep 13, 2021
-
-
Niklas Adolfsson authored
* new helper for testing * fix features * call_with_params -> call_with * call_with_params -> call_with * Update utils/src/server/rpc_module.rs * fix trait bound * Update utils/src/server/rpc_module.rs Co-authored-by: David <[email protected]> * call_with -> test_call * fix grumbles * fix nits Co-authored-by: David <[email protected]>
-
- Sep 11, 2021
-
-
David authored
-
- Sep 01, 2021
-
-
Niklas Adolfsson authored
* treat empty json as no params when optional * add test with nested array brackets * address grumbles: better tests * Update types/src/v2/params.rs Co-authored-by: David <[email protected]> * introduce RpcParams::sequence_ignore_empty * address grumbles: ignore empty json in RpcParams * Update proc-macros/src/render_server.rs * address grumbles: remove trim in next_inner() * address grumbles: trim_start after params.next() * address more grumbles * [proc macros]: add test for empty array * make proc macro kind of work * add hack to make it work in proc macros * add hack to make it work in proc macros * [] -> * revert cerebral palsy * Update proc-macros/tests/ui/correct/basic.rs * Update proc-macros/tests/ui/correct/basic.rs * address grumbles * improve is_option * add test for core::option::Option Co-authored-by: David <[email protected]>
-
- Aug 25, 2021
-
-
David authored
* Add license headers where missing and update year * Update examples/http.rs Co-authored-by: Niklas Adolfsson <[email protected]> Co-authored-by: Niklas Adolfsson <[email protected]>
-
- Aug 18, 2021
-
-
Niklas Adolfsson authored
* rewrite me * require proc macro API to return result * send unknown message when error is not CallError * show example that auto cast StdError doesn't work * register_*_method Into<Error> * clippy * replace generic errors with anyhow::Error * fix nits * example that anyhow::Error in register_method works * CallError: add missing From impl * [types]: add helper methods for Error types The rationale is to make it possible for users to either use anyhow::Error or use the helper methods. * fmt * Revert "register_*_method Into<Error>" This reverts commit 33b4fa28730b72647ba150659d3c0ab1937e524a. * add better comment * fix nit
-
- Aug 16, 2021
-
-
David authored
* Sniff the first byte to glean if the incoming request is a single or batch request This works around the serde limitations around `untagged` enums and `RawValue`. * fmt * For http server, check first byte before allocating space for the body Also, rework the way we return errors: prefer JSON-RPC errors according to spec (application/json) wherever sensible. * Review feedback * Don't assume there is a first byte to read * ty clipyp * Review concerns * Cleanup
-
- Aug 13, 2021
-
-
Niklas Adolfsson authored
-
- Aug 09, 2021
-
-
Niklas Adolfsson authored
To make sure that we are not affected by: - https://github.com/hyperium/hyper/security/advisories/GHSA-f3pg-qwvg-p99c - https://github.com/hyperium/hyper/security/advisories/GHSA-5h46-h7hh-c6x9 However, `hyper 13` is not fixed but I think we should remove that support anyway?!
-
- Jul 27, 2021
-
-
Maciej Hirsz authored
* WIP * Feature-complete-ish * WIP * Cleaner replace marker * Inject lifetimes in elided `Cow`s * Use a single static &str for all injected lifetimes * Working lifetimes * Add the `call` method to `Methods` * Testing proc macro with optional params * Remove internal loop * fmt * Fix grumbles
-
- Jul 12, 2021
-
-
David authored
* Include "macros" in the "server" feature * Re-export SubscriptionSink * Include the "types" feature in both the "client" and "server" features Export types::* from façade when the "types" is active Export types::* from servers * fmt * Export jsonrpsee_types under types * fmt * broken doc link * fix benches * fmt * Fix test imports
- Jul 10, 2021
-
-
David authored
* Pass OwnedRpcParams to async methods * Cow-ified RpcParams * fmt * Separate `RpcParamsSequence` parser from `RpcParams` * Remove OwnedId, use Id<'static> instead * Ensure that parsed `Id` is borrowing from input slice * Tweak/add some docs Test that parse() works after calling sequence() * Fix rustdoc link Co-authored-by: Maciej Hirsz <[email protected]>
-
- Jul 01, 2021
-
-
Igor Aleksanov authored
* Start working on the new proc macro system * Add skeleton for rendering * Improve error reporting * Main part of 'render_client' * Implement RPC client generation * Client successfully rendered * Add doc-comment generation for the API client * Check that all the methods have receiver * Start working on the server impl * Add helper method to find server crate * Fix usage of client rpc path * Decent progress on the server macro implementation * Server macro compiled successfully * Remove unneeded re-export * Insert SubscriptionSink argument to the subscription server signatures * Add basic doc-comment for the macro * no_run -> ignore * Trait with subscription compiles * Extend the example * Add integration test for client/server impl * Add trybuild setup * Set correct span for attribute parsing related errors * Add basic set of trybuild tests * Add tests for client and server generated separately * Improve proc-macro documentation * Update proc-macros/src/lib.rs Co-authored-by: Niklas Adolfsson <[email protected]> * Fix a couple of bugs in docs * Fix rendering subscription with params Co-authored-by: Niklas Adolfsson <[email protected]>
-
Maciej Hirsz authored
* Streaming RpcParams parsing * DRY RpcParams::one again * Fix doc comments
-
Maciej Hirsz authored
* Set allowed Host header values * Error if allowed hosts list is empty * Grammar Co-authored-by: David <[email protected]> Co-authored-by: David <[email protected]>
-
- Jun 29, 2021
-
-
Niklas Adolfsson authored
* feat: customizable error via RpcError trait This commit introduces a new trait for defining user customizable error codes and messages * revert trait stuff * use RawValue * fix docs * rexport to_json_raw_value
-
- Jun 24, 2021
-
-
Igor Aleksanov authored
* Add a way to stop HTTP server * Add a way to stop WS server * Apply suggestions from code review Co-authored-by: David <[email protected]> * Ensure the concrete type of error in stop test * Resolve merge artifacts * Add public re-exports of stop handle Co-authored-by: David <[email protected]>
-
Niklas Adolfsson authored
* [jsonrpsee types]: unify types + more tests * address grumbles
-
- Jun 18, 2021
-
-
Maciej Hirsz authored
* Initial implementation * Comments * Send a 403 on denied origin * Noodling around with `set_allowed_origins` * Error on empty list * Soketto 0.6 * fmt * Add `Builder::allow_all_origins`, clarify doc comments * Rename Cors -> AllowedOrigins, nits, no panic
-
Maciej Hirsz authored
* Make sync methods into Arc pointers * impl Clone for RpcModule and Methods * No need to wrap Methods in Arc anymore * Simplify generics * register_alias * fmt * grammar Co-authored-by: James Wilson <[email protected]> * Use a separate Arc counter for tracking max_connections Co-authored-by: James Wilson <[email protected]>
-
- Jun 04, 2021
-
-
David authored
* Release prep * Mention proc macro limitations * Mention publish script
-
Niklas Adolfsson authored
* [rpc module]: server-side close subscription Add functionality that closes the subscription after the sink has been dropped. * [integration tests]: add timeout on futures * remove global subscriber mutex * fix nit * [client types]: fix #349 Subscription::next() propogate error when parsing the response fails * [client types]: fix #349 Subscription::next() propogate error when parsing the response fails * unify subscription and notification * rename again * send notif response when subscription is dropped * stray debug stuff * Update utils/src/server/rpc_module.rs Co-authored-by: David <[email protected]> * Revert "[client types]: fix #349" This reverts commit c4fefade719ebd8c964a62d0eb16f89db3346ccd. * Revert "[integration tests]: add timeout on futures" This reverts commit 21dfb99649aaaa8c847a693b4510e0202498fa2c. * show that actual edge-case * fix nit * Update types/src/traits.rs * fix bad merge * ugly; but works * complete solution * get rid of Option * Update tests/tests/integration_tests.rs * Update utils/src/server/rpc_module.rs * Update utils/src/server/rpc_module.rs Co-authored-by: David <[email protected]> * grumbles: fix faulty early return * remove weird abstraction KeepAlive * fix nits * revert test timeouts * address grumbles * fix build Co-authored-by: David <[email protected]>
-
- Jun 03, 2021
-
-
Niklas Adolfsson authored
* [client types]: fix #349 Subscription::next() propogate error when parsing the response fails * unify subscription and notification * rename again * Update types/src/traits.rs * fix bad merge * Update types/src/client.rs Co-authored-by: David <[email protected]> * grumbles: subscribe_method -> subscribe_to_method * Update tests/tests/integration_tests.rs Co-authored-by: David <[email protected]> * grumbles: doc links Co-authored-by: David <[email protected]>
-
David authored
* Add a builder to the ws server * Use the WsServerBuilder in tests&examples * cleanup * fmt * Fix benches * fix error message * Add connection count limiting and associated config item * Use the strong_count to `methods` to know how many connections we currently have * Fix test
-
- Jun 02, 2021
-
-
Maciej Hirsz authored
* Use a single map for methods * fmt * cargo fmt screwed indents somehow * Use Arc instead of Box for async methods * fmt * Implement `execute` on `MethodCallback` to keep things DRY * fmt * `OwnedJsonRpcRequest` is not necessary anymore * Call `execute` on `Methods` directly for even more DRY code * Update utils/src/server/rpc_module.rs Co-authored-by: Niklas Adolfsson <[email protected]> * Use `copied` instead of mapping a deref * DRY-er `params` in `MethodCallback` * Added comment on `0` conn_id in http Co-authored-by: Niklas Adolfsson <[email protected]>
-
Igor Aleksanov authored
* Enable docs/debug/pub warnings for server and types crates * Remove Debug bound on Notif * Stick to deriving debug * Update utils/src/server/rpc_module.rs Co-authored-by: David <[email protected]> Co-authored-by: David <[email protected]>
-
David authored
* Misc async methods tinkerings * Update utils/src/server/rpc_module.rs Co-authored-by: Niklas Adolfsson <[email protected]> * Update types/src/v2/params.rs Co-authored-by: Niklas Adolfsson <[email protected]> * Fix review grumbles * fmt Co-authored-by: Niklas Adolfsson <[email protected]>
-
- Jun 01, 2021
-
-
Igor Aleksanov authored
-
Igor Aleksanov authored
* Add basic support for async methods * Add support of async methods into ws server * Add support of async methods to HTTP server * Fix subscriptions method lookup * Remove type that appeared to be unused * Add comment on safety of unwrap in OwnedJsonRpcRequest::borrowed * Update utils/src/server/rpc_module.rs Co-authored-by: Niklas Adolfsson <[email protected]> Co-authored-by: Maciej Hirsz <[email protected]> Co-authored-by: Niklas Adolfsson <[email protected]>
-
David authored
* Remove register_* from Server * Tests pass * Some cleanup * more cleanup * Less bounds * Remove the `RpcMethod` trait – I don't think we need it. * fmt * Fix benches * Enable merging two modules with different contexts * Module registration returns number of methods on the server and checks for dupes Tests for module registration and some cleanup * Export `RpcModule` from façade crate fmt * Revert to return error from `Server::register_module` * Remove Server::methods * Remove TODO * Fix tests Fix http server to work the same as ws-server * Server::method_names * fmt * fix clippy warnings Co-authored-by: Niklas Adolfsson <[email protected]>
-
- May 28, 2021
-
-
Niklas Adolfsson authored
* [ws server]: draft SubscriptionSinkWithParams * rexport types * PoC design2 * improve example * Update ws-server/src/server.rs Co-authored-by: David <[email protected]> * Subscription example (#324) * Add a test for calling methods with multiple params of multiple types (#308) * Add a test for calling methods with multiple params of multiple types * cargo fmt Co-authored-by: Niklas Adolfsson <[email protected]> * [ws client] RegisterNotification support (#303) * Rename NotifResponse to SubscriptionResponse to make room for new impl * Add support for on_notification Subscription<T> types * Fix handling of NotificationHandler in manager * cleanup * Implement NotificationHandler to replace Subscription<T> and clean up plumbing * More cleanup * impl Drop for NotificationHandler * Address pr feedback #1 * ws client register_notification pr feedback 2 * Fix doc * fix typo * Add tests, get NH working * More cleanup of String/&str * fix doc * Drop notification handler on send_back_sink error * ws client notification auto unsubscribe when channel full test * Change order of type params to register_method (#312) * Change order of type params to register_method * Cleanup and fmt * Update ws-server/src/tests.rs Co-authored-by: Niklas Adolfsson <[email protected]> * CI: optimize caching (#317) * Bump actions/checkout from 2 to 2.3.4 (#315) 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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions-rs/cargo from 1 to 1.0.3 (#314) 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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions-rs/toolchain from 1 to 1.0.7 (#313) 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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * [ws server]: add logs (#319) * WIP - hangs * fix example * cleanup * Add certificate_store() to WsClientBuilder (#321) * Add custom_certificate to WsClientBuilder * Use system certs instead of specified file * Cache client_config * Move client_config logic to fn build * Default use_system_certificates to true * Move out connector * Add CertificateStore type * cargo fmt * cargo clippy * Resolve comment: Rename variable * Resolved comments Co-authored-by: Niklas Adolfsson <[email protected]> Co-authored-by: Billy Lindeman <[email protected]> Co-authored-by: Denis Pisarev <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Albin Hedman <[email protected]> * grumbles: impl maciej proposal * fix test build * add test for subscription with param * cargo fmt * Update examples/ws_subscription.rs Co-authored-by: David <[email protected]> * Update utils/src/server/rpc_module.rs Co-authored-by: David <[email protected]> * Update utils/src/server/rpc_module.rs Co-authored-by: David <[email protected]> * Update utils/src/server/rpc_module.rs Co-authored-by: David <[email protected]> * Update utils/src/server/rpc_module.rs Co-authored-by: David <[email protected]> * Update utils/src/server/rpc_module.rs Co-authored-by: David <[email protected]> * grumbles * Update utils/src/server/rpc_module.rs Co-authored-by: David <[email protected]> * Update utils/src/server/rpc_module.rs Co-authored-by: David <[email protected]> * Update utils/src/server/rpc_module.rs Co-authored-by: Maciej Hirsz <[email protected]> * fix more grumbles * [subscriptionSink]: introduce into_sinks * use replace * fix more nits * maciej design 2 * fix tests * remove log * [rpc context mod]: register_subscription with ctx * nits * nits again * move subscribers mutex * clippy * [ws subscribe]: avoid send message on unsubscribed * revert unintentional changes * Subscription with context example (#345) * Add weather example to show how to use subscriptions with context * Add note * Cleanup * Additional cleanup (#347) * Add weather example to show how to use subscriptions with context * Add note * Cleanup * fmt * Cleanup and docs * fmt * ignore error on subscription Co-authored-by: David Palm <[email protected]> Co-authored-by: Billy Lindeman <[email protected]> Co-authored-by: Denis Pisarev <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Albin Hedman <[email protected]> Co-authored-by: Maciej Hirsz <[email protected]>
-
- May 27, 2021
-
-
Niklas Adolfsson authored
-
Niklas Adolfsson authored
The reason is that `Receiver::next` won't panic polling after `Ok(None)` has been received.
-
Niklas Adolfsson authored
-
- May 24, 2021
-
-
David authored
* Switch from anyhow::Result to std Result * fmt * Use thiserror `#[from]` * Remove sadness
-
- May 19, 2021
-
-
Igor Aleksanov authored
-