1. Oct 26, 2022
  2. Oct 13, 2022
  3. 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
  4. Aug 11, 2022
  5. 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
  6. Jun 29, 2022
  7. Jun 22, 2022
  8. Jun 14, 2022
  9. Jun 13, 2022
  10. May 25, 2022
  11. May 04, 2022
  12. Apr 20, 2022
  13. Mar 22, 2022
  14. Feb 22, 2022
  15. Feb 01, 2022
  16. Dec 22, 2021
  17. 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
  18. 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
  19. Dec 10, 2021
    • Niklas Adolfsson's avatar
      rpc module: refactor calls/subs without a server (#591) · a8ad5745
      Niklas Adolfsson authored
      
      
      * rpc module: refactor calls/subs without a server
      
      * Update utils/src/server/rpc_module.rs
      
      * Update utils/src/server/rpc_module.rs
      
      * Update utils/src/server/rpc_module.rs
      
      * rpc module: add raw_json_requests + rename test_subscribe
      
      * Update utils/src/server/rpc_module.rs
      
      Co-authored-by: default avatarDavid <[email protected]>
      
      * add rustdoc examples
      
      * fix tabs
      
      * no more tabs in docs
      
      * address grumbles
      
      * Update utils/src/server/rpc_module.rs
      
      Co-authored-by: default avatarDavid <[email protected]>
      a8ad5745
  20. Nov 19, 2021
  21. Nov 18, 2021
  22. Nov 11, 2021
  23. Nov 09, 2021
  24. Nov 08, 2021
  25. Oct 15, 2021
  26. Oct 11, 2021
    • Maciej Hirsz's avatar
      Resource Limiting (#500) · 518a6155
      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: default avatarDavid <[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: default avatarNiklas Adolfsson <[email protected]>
      
      * syn-up all the things, handle resources on methods
      
      Co-authored-by: default avatarNiklas 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: default avatarDavid <[email protected]>
      Co-authored-by: default avatarNiklas 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: default avatarDavid <[email protected]>
      Co-authored-by: default avatarNiklas Adolfsson <[email protected]>
      518a6155
  27. Oct 05, 2021
    • Niklas Adolfsson's avatar
      ws client redirections (#397) · 94c881b8
      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: default avatarDavid Palm <[email protected]>
      94c881b8
  28. Oct 01, 2021
  29. Sep 14, 2021
    • David's avatar
      Propagate cause of `InvalidParams` (#463) · b16568b4
      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: default avatarNiklas 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: default avatarMaciej Hirsz <[email protected]>
      
      * Mention needing jsonrpsee crate in scope
      
      * Resolve todo
      
      * Impl ToRpcParams for 0-sized array
      
      * optimized logging
      
      Co-authored-by: default avatarNiklas Adolfsson <[email protected]>
      Co-authored-by: default avatarMaciej Hirsz <[email protected]>
      b16568b4
    • Maciej Hirsz's avatar
      Reject overflowing connection with status code 429 (#456) · bf2fff04
      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
      bf2fff04
  30. Sep 11, 2021
  31. Sep 08, 2021
  32. Sep 01, 2021
    • Maciej Hirsz's avatar
      Tidy `StopHandle` (#425) · ffa504e2
      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: default avatarNiklas Adolfsson <[email protected]>
      
      * Added comment on atomicbool ordering
      
      Co-authored-by: default avatarNiklas Adolfsson <[email protected]>
      ffa504e2
  33. Aug 25, 2021
  34. Aug 18, 2021
    • Niklas Adolfsson's avatar
      [proc macros] force proc macro api to return `Result` (#435) · 09abbaaa
      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
      09abbaaa
  35. Aug 13, 2021
  36. Jul 12, 2021
    • Maciej Hirsz's avatar
      Module API refactor (#412) · 8db65b42
      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: default avatarDavid <[email protected]>
      
      Co-authored-by: default avatarDavid Palm <[email protected]>
      8db65b42
    • David's avatar
      Rexport types for servers (#409) · 0592442e
      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
      0592442e
  37. Jul 10, 2021
    • David's avatar
      Pass OwnedRpcParams to async methods (#410) · d5d67e98
      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: default avatarMaciej Hirsz <[email protected]>
      d5d67e98
  38. Jun 25, 2021
    • Niklas Adolfsson's avatar
      [ci]: test each individual crate's manifest (#392) · 2ca8355a
      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
      2ca8355a