1. Sep 13, 2022
    • Niklas Adolfsson's avatar
      replace `WS and HTTP servers` with a server that supports both `WS and HTTP` (#863) · bf73876d
      Niklas Adolfsson authored
      
      
      * ws server: support both http and ws
      
      * clean things up
      
      * ws server: add http logger and ws logger
      
      * more cleanup
      
      * fix nits
      
      * middleware example
      
      * remove http and ws server crates
      
      * move things around
      
      * some minor fixes
      
      * fix stop in http context
      
      * fix tests
      
      * fix features
      
      * use header constants
      
      * remove access_control & expose only host filtering
      
      CORS has been removed to tower middleware and doesn't need to supported anymore
      
      * fix merge logging traits + move to server
      
      * supress warnings faulty dead code
      
      * remove unwrap
      
      * support http2
      
      * doesnt work
      
      * feat: simpler stop handling
      
      * Update server/src/future.rs
      
      * some cleanup
      
      * Update server/src/future.rs
      
      Co-authored-by: default avatarAlexandru Vasile <[email protected]>
      
      * Update server/src/future.rs
      
      Co-authored-by: default avatarAlexandru Vasile <[email protected]>
      
      * fix nits
      
      * address grumbles
      
      * commit examples and nits
      
      * clarify comment
      
      * remove noise
      
      * remove impl Future for ServerHandle
      
      * remove needless async {}
      
      * add http2 test
      
      * add ServerBuilder::build_from_tcp
      
      * fix super nit: no more Option<SocketAddr>
      
      * fix Option<SocketAddr>
      
      * Update server/src/future.rs
      
      Co-authored-by: default avatarAlexandru Vasile <[email protected]>
      
      * Update server/src/future.rs
      
      Co-authored-by: default avatarAlexandru Vasile <[email protected]>
      
      Co-authored-by: default avatarAlexandru Vasile <[email protected]>
      bf73876d
  2. Sep 06, 2022
  3. Aug 17, 2022
  4. Aug 16, 2022
  5. Aug 11, 2022
  6. Aug 04, 2022
  7. Aug 03, 2022
  8. Jul 06, 2022
    • Niklas Adolfsson's avatar
      fix clippy (#817) · a26f1fb7
      Niklas Adolfsson authored
      a26f1fb7
    • 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
  9. Jun 29, 2022
  10. Jun 21, 2022
    • Niklas Adolfsson's avatar
      feat(logging): add `tracing span` per JSON-RPC call (#722) · 00c2ce65
      Niklas Adolfsson authored
      * less verbose logging + tracing based on method name
      
      * add tracing per rpc call
      
      * fix nits
      
      * remove unsed feature
      
      * fix build
      
      * http make logging more human friendly
      
      * unify logging format
      
      * deps: make tracing hard dependency
      
      * fix tests
      
      * fix nit
      
      * fix build
      
      * fix nits
      
      * Update core/src/client/async_client/mod.rs
      
      * Update core/Cargo.toml
      
      * Update core/src/lib.rs
      00c2ce65
  11. Jun 14, 2022
  12. Jun 13, 2022
  13. May 19, 2022
  14. May 03, 2022
  15. 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
  16. Apr 20, 2022
  17. Apr 05, 2022
  18. Apr 01, 2022
    • 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
  19. Mar 30, 2022
  20. Mar 09, 2022
  21. Feb 22, 2022
  22. Jan 21, 2022
    • 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. 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
  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. Nov 22, 2019
  29. Nov 19, 2019
  30. Nov 18, 2019
  31. Nov 15, 2019
  32. Nov 14, 2019
  33. Oct 29, 2019