1. Jul 06, 2022
    • Niklas Adolfsson's avatar
      middleware refactoring (#793) · 3ee635ff
      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
      3ee635ff
  2. Jun 29, 2022
  3. Jun 21, 2022
  4. Jun 14, 2022
  5. Jun 13, 2022
  6. Jun 01, 2022
  7. May 25, 2022
  8. May 19, 2022
  9. May 13, 2022
  10. May 06, 2022
  11. May 03, 2022
  12. Apr 29, 2022
    • Niklas Adolfsson's avatar
      fix(rpc module): close subscription task when a subscription is `unsubscribed`... · 8e945de4
      Niklas Adolfsson authored
      fix(rpc module): close subscription task when a subscription is `unsubscribed` via the `unsubscribe call` (#743)
      
      * refactor: remove SubscriptionSink::inner_send
      
      * fix: close running task if unsubscribed
      
      * Update core/src/server/rpc_module.rs
      
      * Update core/src/server/rpc_module.rs
      
      * fix nits
      
      * Update core/src/server/rpc_module.rs
      
      * add test for canceling subscriptions
      
      * print subscription info; once per minute
      
      * revert closure stuff
      
      * Revert "print subscription info; once per minute"
      
      This reverts commit 366176a8
      
      .
      
      * use tokio::sync::watch instead of oneshot
      
      The receiver is clonable and it's possible to check whether the sender is still alive
      
      * Update tests/tests/helpers.rs
      
      Co-authored-by: default avatarDavid <[email protected]>
      
      * Update core/src/server/rpc_module.rs
      
      Co-authored-by: default avatarDavid <[email protected]>
      
      * grumbles: use unwrap in tests
      
      * add test for reuse pipe_from_stream
      
      Co-authored-by: default avatarDavid <[email protected]>
      8e945de4
  13. Apr 20, 2022
    • Niklas Adolfsson's avatar
      feat: WASM client via web-sys transport (#648) · 20e6e5de
      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: default avatarDavid <[email protected]>
      
      * Update core/src/client/async_client/mod.rs
      
      Co-authored-by: default avatarDavid <[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: default avatarDavid <[email protected]>
      20e6e5de
    • Niklas Adolfsson's avatar
      fix(rpc module): fail subscription calls with bad params (#728) · 9fa817d9
      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: default avatarJames 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: default avatarJames Wilson <[email protected]>
      
      * Update core/src/server/rpc_module.rs
      
      Co-authored-by: default avatarJames Wilson <[email protected]>
      
      * Update core/src/server/rpc_module.rs
      
      Co-authored-by: default avatarJames Wilson <[email protected]>
      
      * Update core/src/server/rpc_module.rs
      
      Co-authored-by: default avatarJames Wilson <[email protected]>
      
      * Update core/src/server/rpc_module.rs
      
      Co-authored-by: default avatarJames Wilson <[email protected]>
      
      * Update proc-macros/src/lib.rs
      
      Co-authored-by: default avatarJames Wilson <[email protected]>
      
      * address grumbles
      
      * remove faulty comment
      
      * Update core/src/server/rpc_module.rs
      
      Co-authored-by: default avatarDavid <[email protected]>
      
      * Update core/src/server/rpc_module.rs
      
      Co-authored-by: default avatarDavid <[email protected]>
      
      * Update core/src/server/rpc_module.rs
      
      Co-authored-by: default avatarDavid <[email protected]>
      
      * Update core/src/server/rpc_module.rs
      
      Co-authored-by: default avatarDavid <[email protected]>
      
      * Update core/src/server/rpc_module.rs
      
      Co-authored-by: default avatarDavid <[email protected]>
      
      * fix: don't send `RPC Call failed: error`.
      
      * remove debug assert
      
      Co-authored-by: default avatarJames Wilson <[email protected]>
      Co-authored-by: default avatarDavid <[email protected]>
      9fa817d9
  14. Apr 05, 2022
  15. Apr 01, 2022
  16. Mar 30, 2022
  17. Mar 09, 2022
  18. Feb 22, 2022
  19. Feb 01, 2022
  20. Jan 21, 2022
    • Niklas Adolfsson's avatar
      feat(client): support request id as Strings. (#659) · 708d4213
      Niklas Adolfsson authored
      * feat(client): support request id as Strings.
      
      * add tests for Id::String
      
      * address grumbles: move id_kind to RequestManager
      
      * Update client/http-client/src/client.rs
      
      * types: take ref to `ID` get rid of some `Clone`
      
      * remove more clone
      
      * grumbles: rename tests
      708d4213
    • David's avatar
      Add a method to RpcModule that transforms the module into a `RpcModule<()>`,... · c0f343d4
      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: default avatarMaciej Hirsz <[email protected]>
      
      Co-authored-by: default avatarMaciej Hirsz <[email protected]>
      c0f343d4
    • Niklas Adolfsson's avatar
      feat(rpc module): `stream API` for SubscriptionSink (#639) · 9bd21274
      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: default avatarDavid <[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: default avatarDavid <[email protected]>
      9bd21274
  21. Dec 22, 2021
  22. Dec 21, 2021
    • Niklas Adolfsson's avatar
      feat: server configurable subscriptionID (#604) · bc688cc2
      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: default avatarDavid Palm <[email protected]>
      bc688cc2
  23. Dec 20, 2021
    • Niklas Adolfsson's avatar
      extract async client abstraction. (#580) · 292bd88a
      Niklas Adolfsson authored
      
      
      * extract ws client to async client
      
      * bring back jsonrpsee-ws-client crate
      
      * new crate core client
      
      * add missing file
      
      * jsonrpsee crate: add core client
      
      * rexport core client
      
      * more re-exports
      
      * downgrade trait bounds
      
      * update version
      
      * fix nits
      
      * send close reason
      
      * Update types/src/traits.rs
      
      * move 'TEN_MB_CONST' to core
      
      * Update client/core-client/Cargo.toml
      
      Co-authored-by: default avatarDavid <[email protected]>
      
      * Update client/core-client/src/lib.rs
      
      Co-authored-by: default avatarDavid <[email protected]>
      
      * cargo fmt
      
      * Update client/ws-client/src/lib.rs
      
      Co-authored-by: default avatarDavid <[email protected]>
      
      * Update client/ws-client/src/lib.rs
      
      Co-authored-by: default avatarDavid <[email protected]>
      
      * move `async-client` core
      
      The `async-client` is hidden behind a new feature flag `async-client`
      because it brings in additional dependecies such as tokio rt.
      
      * fix docs
      
      * add example how to use "core client"
      
      * fix build
      
      * Update http-server/Cargo.toml
      
      * Update client/transport/Cargo.toml
      
      Co-authored-by: default avatarDavid <[email protected]>
      292bd88a
  24. Dec 17, 2021
    • Maciej Hirsz's avatar
      Crate restructuring (#590) · e159c449
      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: default avatarNiklas Adolfsson <[email protected]>
      
      * fmt
      
      * Feature gate the Client trait
      
      * Move `Client` traits to `client` module
      
      Co-authored-by: default avatarNiklas Adolfsson <[email protected]>
      e159c449
  25. Feb 26, 2020
  26. Feb 19, 2020
  27. Jan 03, 2020
  28. Jan 02, 2020