jsonrpc-client-http
HTTP transport implementation for the JSON-RPC 2.0 clients generated by
jsonrpc-client-core
.
Uses the async Tokio based version of Hyper to implement a JSON-RPC 2.0 compliant HTTP transport.
Reusing connections
Each HttpTransport
instance is backed by exactly one Hyper
Client
and all HttpHandle
s created through the same
HttpTransport
also point to that same Client
instance.
By default Hyper Client
s have keep-alive activated and open connections will be kept and
reused if more requests are sent to the same destination before the keep-alive timeout is
reached.
TLS / HTTPS
TLS support is compiled if the "tls" feature is enabled.
When TLS support is enabled the builder returned from HttpTransport::with_tls
will produce a
HttpTransport
supporting both plaintext http and encrypted https over TLS, backed by the
hyper_tls::HttpsConnector
connector.
Examples
See the integration test in tests/localhost.rs
for code that creates an actual HTTP server
with jsonrpc_http_server
, and sends requests to it with this crate.
Here is a small example of how to use this crate together with jsonrpc_core
:
extern crate jsonrpc_client_core;
extern crate jsonrpc_client_http;
use HttpTransport;
jsonrpc_client!;
License: MIT/Apache-2.0