1. Jun 27, 2022
  2. Jun 24, 2022
  3. Jun 21, 2022
  4. Jun 20, 2022
  5. Jun 14, 2022
  6. Jun 13, 2022
  7. Jun 01, 2022
  8. May 13, 2022
  9. May 11, 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 21, 2022
  14. Apr 20, 2022
  15. Apr 05, 2022
  16. Apr 04, 2022
  17. Apr 01, 2022
    • Niklas Adolfsson's avatar
      feat(http server): add new builder APIs `build_from_tcp` and `build_from_hyper` (#719) · 34c2fbef
      Niklas Adolfsson authored
      * unify servers; use tokio::TcpListener
      
      * add API to build server from tcp socket
      
      * build_from_tcp nit: not async
      
      * fix nits
      
      * change `build_from_tcp` force users configure hyper
      
      The hyper settings might contradict to settings on the provided
      socket, force users of this API to configure that avoid confusion and
      unexpected settings.
      
      * Update http-server/src/server.rs
      
      * fix doc links
      
      * add separate APIs `build_from_tcp` and `build_from_hyper`
      
      * fix clippy
      
      * remove dead code
      
      * fix build
      
      * fix nit in example code
      34c2fbef
    • Niklas Adolfsson's avatar
      fix(client): close subscription when server sent `SubscriptionClosed` notification (#721) · f55ab3e3
      Niklas Adolfsson authored
      * fix(client): close subscription when server sent `SubscriptionClosed` notification
      
      * Update core/src/client/async_client/helpers.rs
      f55ab3e3
    • Niklas Adolfsson's avatar
      feat: add `SubscriptionSink::pipe_from_try_stream` to support streams that returns `Result` (#720) · 545ceaf6
      Niklas Adolfsson authored
      
      
      * refactor: make `pipe_from_stream` take stream of result
      
      The rationale for this is that it is more flexible for use cases when `Stream<Item = Result<T, Error>>`.
      
      Take for example `tokio_stream::Broadcast` then one would have to something like:
      
      ```rust
         let stream = BroadcastStream::new(rx).take_while(|r| future::ready(r.is_ok())).filter_map(|r| future::ready(r.ok()));
      ```
      
      Of course it's a bit awkward to return `Result` when the underlying stream can't fail but I think that's fair trade-off
      here.
      
      * Update core/src/server/rpc_module.rs
      
      Co-authored-by: default avatarTarik Gul <[email protected]>
      
      * pipe_from_stream: make E: Display instead of StdError
      
      * add a test
      
      * add `pipe_from_try_stream` API to support `TryStream`
      
      * Update tests/tests/integration_tests.rs
      
      * Update proc-macros/src/lib.rs
      
      Co-authored-by: default avatarTarik Gul <[email protected]>
      545ceaf6
  18. Mar 30, 2022
  19. Mar 09, 2022
  20. Feb 18, 2022
  21. Feb 03, 2022
  22. Jan 21, 2022
    • David's avatar
      Prep for releasing v0.8.0 (#664) · 7e7d3d6e
      David authored
      * Prep for releasing v0.8.0
      
      * Grumble
      v0.8.0
      7e7d3d6e
    • 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
  23. Jan 05, 2022
    • Niklas Adolfsson's avatar
      fix(http server): handle post and option HTTP requests properly. (#637) · 6f99a038
      Niklas Adolfsson authored
      
      
      * fix(http server): handle post and option requests.
      
      * Update http-server/src/response.rs
      
      * fmt
      
      * grumbles: validate CORS before checking method kind
      
      * revert unintentional change
      
      * Add A few tests around CORS and http method/header acceptance
      
      * Tweak the CORS test
      
      * return appropriate headers for CORS preflight response
      
      * cargo fmt
      
      * jsonrpc, not jsonrpsee in test requests
      
      * don't test OPTIONS method in unsupported_methods test as it has different expectations
      
      * Update tests/tests/integration_tests.rs
      
      * Update tests/tests/integration_tests.rs
      
      * Update tests/tests/integration_tests.rs
      
      * Update tests/tests/integration_tests.rs
      
      * Add an example to test CORS in browser, and a couple of fixes to CORS handling
      
      * cargo fmt
      
      * Update examples/cors_server.rs
      
      Co-authored-by: default avatarJames Wilson <[email protected]>
      6f99a038
  24. Dec 22, 2021
  25. 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