- Dec 01, 2021
-
-
Maciej Hirsz authored
* Squashed MethodSink * Middleware WIP * Passing all the information through * Unnecessary `false` * Apply suggestions from code review Co-authored-by: David <[email protected]> * Add a setter for middleware (#577) * Fix try-build tests * Add a middleware setter and an example * Actually add the example * Grumbles * Use an atomic * Set middleware with a constructor instead * Resolve a todo * Update ws-server/src/server.rs Co-authored-by: Maciej Hirsz <[email protected]> * Update ws-server/src/server.rs Co-authored-by: Maciej Hirsz <[email protected]> * Update ws-server/src/server.rs Co-authored-by: Maciej Hirsz <[email protected]> Co-authored-by: Maciej Hirsz <[email protected]> * Middleware::on_response for batches * Middleware in HTTP * fmt * Server builder for HTTP * Use actual time in the example * HTTP example * Middleware to capture method not found calls * An example of adding multiple middlewares. (#581) * Add an example of adding multiple middlewares. * Update examples/multi-middleware.rs Co-authored-by: Maciej Hirsz <[email protected]> * Update examples/Cargo.toml Co-authored-by: Maciej Hirsz <[email protected]> Co-authored-by: Maciej Hirsz <[email protected]> * Move `Middleware` to jsonrpsee-types (#582) * Move `Middleware` to jsonrpsee-types * Move Middleware trait to jsonrpsee-types * Add some docs. * Link middleware to `with_middleware` methods in docs * Doctests * Doc comment fixed * Clean up a TODO * Switch back to `set_middleware` * fmt * Tests * Add `on_connect` and `on_disconnect` * Add note to future selves Co-authored-by: David <[email protected]>
-
- Nov 19, 2021
-
-
Niklas Adolfsson authored
* feat: override `method` subscription notif * Arrow syntax for overwrites (#569) * check that unique notifs are used * check that custom sub name is unique * cargo fmt * address grumbles * Update proc-macros/src/rpc_macro.rs * commit added tests * Update proc-macros/src/render_server.rs Co-authored-by: David <[email protected]> * Update proc-macros/src/render_server.rs Co-authored-by: David <[email protected]> * Update proc-macros/src/rpc_macro.rs Co-authored-by: David <[email protected]> * Update proc-macros/src/rpc_macro.rs Co-authored-by: David <[email protected]> * Update utils/src/server/rpc_module.rs Co-authored-by: David <[email protected]> * grumbles * fix long lines * 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 proc-macros/src/rpc_macro.rs Co-authored-by: David <[email protected]> * Update proc-macros/src/render_server.rs Co-authored-by: David <[email protected]> * Update proc-macros/src/render_server.rs Co-authored-by: David <[email protected]> * more grumbles Co-authored-by: Maciej Hirsz <[email protected]> Co-authored-by: David <[email protected]>
-
- Nov 18, 2021
-
-
Niklas Adolfsson authored
* rpc module: report error on invalid subscription * fix tests * remove some boiler plate * remove unused code
-
- Nov 17, 2021
-
-
Niklas Adolfsson authored
* fix: enable several sockaddress when starting servers * nits * more verbose asserts in rustdoc tests * fix tests * fix tests again
-
- Nov 11, 2021
-
-
Maciej Hirsz authored
* Fix some clippy issues * Add an interval to periodically wake the SelectDriver Waker * Apply suggestions from code review Co-authored-by: David <[email protected]> * Naming grumbles Co-authored-by: David <[email protected]>
-
Niklas Adolfsson authored
* ws server: don't kill connection max limit exceeds * Update ws-server/src/server.rs * actually use max size in soketto * rewrite me * improve logs * use soketto fix * rewrite me * fix nit * revert unintentional change * use soketto 0.7.1 * fix logger * Update ws-server/src/server.rs Co-authored-by: David <[email protected]> * Update ws-server/src/server.rs Co-authored-by: David <[email protected]> * Update ws-server/src/server.rs Co-authored-by: David <[email protected]> * Update ws-server/src/server.rs Co-authored-by: David <[email protected]> * Update ws-server/src/server.rs Co-authored-by: David <[email protected]> * fix build * reject too large response * fix some DRY code * feat: bounded serializer for RpcModule * Update utils/src/server/helpers.rs Co-authored-by: Maciej Hirsz <[email protected]> * Update utils/src/server/helpers.rs Co-authored-by: Maciej Hirsz <[email protected]> * address grumbles: safety and other nits * address grumbles: MaxCallSize on closures instead * Update utils/src/server/helpers.rs Co-authored-by: David <[email protected]> * use max response size on errors too * Revert "use max response size on errors too" This reverts commit 3b07e42d257b2eebae311b92b7f72594d94d5f87. * include max limit in error response Co-authored-by: David <[email protected]> Co-authored-by: Maciej Hirsz <[email protected]>
-
- Nov 10, 2021
-
-
Maciej Hirsz authored
-
- Nov 09, 2021
-
-
Niklas Adolfsson authored
* ws server: don't kill connection max limit exceeds * Update ws-server/src/server.rs * actually use max size in soketto * rewrite me * improve logs * use soketto fix * rewrite me * fix nit * revert unintentional change * use soketto 0.7.1 * fix logger * Update ws-server/src/server.rs Co-authored-by: David <[email protected]> * Update ws-server/src/server.rs Co-authored-by: David <[email protected]> * Update ws-server/src/server.rs Co-authored-by: David <[email protected]> * Update ws-server/src/server.rs Co-authored-by: David <[email protected]> * Update ws-server/src/server.rs Co-authored-by: David <[email protected]> * fix build Co-authored-by: David <[email protected]>
-
- Nov 08, 2021
-
-
Chris Sosnin authored
* Implement Future for server handles * Explicitly assert timeout errors in tests
-
- Nov 01, 2021
-
-
Niklas Adolfsson authored
* reproduce Kian's issue * fix ws server wait until batches has completed * fix nit * clippify * enable benches for ws batch requests * use stream instead of futures::join_all * clippify * address grumbles: better assert
-
- Oct 15, 2021
-
-
Niklas Adolfsson authored
-
- Oct 12, 2021
-
-
Niklas Adolfsson authored
-
Maciej Hirsz authored
* Document resource limiting * Formatting * More formatting * fmt * Doc comment wording Co-authored-by: David <[email protected]> * Cross-reference docs between servers and utils * Fix grumbles * More elaborate description * Update http-server/Cargo.toml Co-authored-by: Niklas Adolfsson <[email protected]> * Apply suggestions from code review Co-authored-by: David <[email protected]> * Allow for unlimited resources if cap is 0 * fmt * Update ws-server/Cargo.toml Co-authored-by: Niklas Adolfsson <[email protected]> * Clarify 8 resources, 0s in costs/limits, and runtime errors Co-authored-by: David <[email protected]> Co-authored-by: Niklas Adolfsson <[email protected]>
-
- Oct 11, 2021
-
-
Niklas Adolfsson authored
* [ws server]: refactor start() * remove needless clone * fix http server too * fmt * unify stop APIs * fix bad merge * add API to use custom tokio runtime * use futures oneshot * fix unintentional change * Revert "use futures oneshot" This reverts commit 0432f6ba41d49a3494943458657a31f8afd79160. * Update http-server/src/server.rs Co-authored-by: Maciej Hirsz <[email protected]> Co-authored-by: Maciej Hirsz <[email protected]>
-
Maciej Hirsz authored
* Squash post merge * RAII claims and some comments * Adding resources to Methods * Use arrays for claiming all resources at once * Register resources on ws-server * Return MethodResourcesBuilder from register_method * Return MethodResourcesBuilder from register_async_method * fmt and comments * Add `verify_and_insert` to get rid of `or_insert` in order to get mut ref to value * Resources initialization * No need for ResourceBuilder * Comment all the things * Handle errors on ws-server `start` method * Passing ResourceGuard to method execution * Start ws-server in background, simplify all the tests! * Claiming resources on runtime * Do checked math on resource claiming * Clearer error path for resources at limit * Resource limiting tests WIP * Unbox async futures * fmt * Cleaner proc macro * Fix lifetime issues with ResourceGuard with internal Arc * Remove unnecessary lifetime generic * Working tests * Use turbofish in tests * fmt * Fixed (?) benches * Apply suggestions from code review Co-authored-by: David <[email protected]> * Tweak more grumbles * Adding a test for resource limiting with proc macros (WIP) * Reworking attribute macros for resource limiting (#507) * Squashed macros WIP * bae-less macros! * Make things simpler and more readable * Some comments and DRY aliases parsing * Naming things is hard * Respan is no longer needed * Simpler Arguments * Remove stale code * Apply suggestions from code review Co-authored-by: Niklas Adolfsson <[email protected]> * syn-up all the things, handle resources on methods Co-authored-by: Niklas Adolfsson <[email protected]> * Resource limiting on the http server * Test two resources at once * Test the HTTP server for resource limiting * Apply suggestions from code review Co-authored-by: David <[email protected]> Co-authored-by: Niklas Adolfsson <[email protected]> * Comment tweaks * More explicit error type for `AttributeMeta::retain` * Remove generic from ResourceTable; derive Default on ws Builder * Make the macros shorter Co-authored-by: David <[email protected]> Co-authored-by: Niklas Adolfsson <[email protected]>
-
- Oct 05, 2021
-
-
Niklas Adolfsson authored
* feat(ws client): support redirections * reuse socket * reuse socket * add hacks * fix build * remove hacks * fix bad merge * address grumbles * fix grumbles * fix grumbles * fix nit * add redirection test * Update test-utils/src/types.rs * Resolved todo * Check that redirected client actually works * Rename test-utils "types" to "mocks" * Fix windows test (?) * fmt * What is wrong with you windows? * Ignore redirect test on windows * fix bad transport errors * debug windows tests * update soketto * maybe fix windows test * add config flag for max redirections * revert faulty change. Relative reference must start with either `/` or `//` * revert windows path * use manual join paths * remove url dep * Update ws-client/src/tests.rs * default max redirects 5 * remove needless clone vec * fix bad merge * cmon CI run Co-authored-by: David Palm <[email protected]>
-
- Oct 01, 2021
-
-
Maciej Hirsz authored
* Unbox async futures * fmt * Cleaner proc macro * Remove unnecessary parens around async blocks
-
- Sep 24, 2021
-
-
Niklas Adolfsson authored
* fix: server should not send to closed subscription Closing #481 * add a test * rewrite me * remove faulty server close * fix tests * fix tests * remove needless code * Update ws-client/src/client.rs * fix: remove atomic flag; use `close_sender` * remove terminate message; use close channel * remove faulty subscription closed error msg * fix tests * fix grumbles * fix build
-
- Sep 16, 2021
-
-
David authored
* Re-export v2::params, error, request and response types * Use shallow type paths
-
- 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
* Silence warning on cors_max_age * Revert change to `AccessControl`
-
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]>
-
Maciej Hirsz authored
* Reject overflowing connection with status code 429 * fmt * rename Handshake -> HandshakeMode for clarity; verbose test * Gracefully shutdown after rejecting to hopefully fix the errors on windows * HandshakeMode -> HandshakeResponse; tweak pending subscriptions on shutdown test
-
- Sep 11, 2021
-
-
David authored
-
- Sep 08, 2021
-
-
Niklas Adolfsson authored
* cleanup * Update ws-server/src/tests.rs * Update http-server/src/tests.rs
-
- Sep 01, 2021
-
-
Maciej Hirsz authored
* Experimental generic driver for methods * Move FutureDriver to its own module * "Infallible" sync methods + fmt * Drive all methods to completion before background_task closes * Testing a different stop handle * Added the waker for the monitors * Fix the test * Fix a possible deadlock * fmt * Explain strong_count check in StopHandle Drop impl * Clippy tweak Co-authored-by: Niklas Adolfsson <[email protected]> * Added comment on atomicbool ordering Co-authored-by: Niklas Adolfsson <[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 17, 2021
-
-
Maciej Hirsz authored
* Experimental generic driver for methods * Move FutureDriver to its own module * "Infallible" sync methods + fmt * Drive all methods to completion before background_task closes
-
- Aug 13, 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 * Review feedback * Don't assume there is a first byte to read * remove todo * review feedback
-
- Jul 12, 2021
-
-
Maciej Hirsz authored
* Do not register methods on servers * fmt * Infallible `to_rpc` proc macro * Remove dead code * Check for duplicate names at compile time * Add a UI test for name conflicts * Apply suggestions from code review Co-authored-by: David <[email protected]> Co-authored-by: David Palm <[email protected]>
-
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
-
-
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 30, 2021
-
-
Maciej Hirsz authored
* WIP * More WIP * Simplify ConnDriver * Progress all connections on each poll * Make ConnDriver more opaque and less leaky * fmt * Spawn connections on tasks after handshake * WIP put connections on tasks * cargo fmt, naming clarity * Fix grumbles * Extra comment on swap_remove * Remove unwrap from the handshake * Restore the wrapping_add on connection id
-
Niklas Adolfsson authored
* [ws server]: terminate connection when closed. * fix tests * add test * address grumbles: return Ok when server stopped * revert log * revert outdated documentation * use wrapping add for conn id * address grumbles: replace Mutex with AtomicBool * add comment to assertion * fix nits * address grumbles: naming of variables * address grumbles: RwLock to wait for tasks This commit introduces a RwLock instead of the Mutex to the shared by the background tasks and the stop handle won't signal until all readers has been dropped. * fix nit * Update ws-server/src/server.rs * remove AtomicBool; use stop_sender instead * Update ws-server/src/server.rs * Update ws-server/src/server.rs Co-authored-by: David <[email protected]> * correct subscription err messages Co-authored-by: David <[email protected]>
-
- Jun 25, 2021
-
-
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
-
- 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]>
-
- 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]>
-