Crate jsonrpc_core [−] [src]
Transport agnostic jsonrpc library.
Right now it supports only server side handling requests.
extern crate jsonrpc_core; use jsonrpc_core::*; use jsonrpc_core::futures::Future; fn main() { let mut io = IoHandler::new(); io.add_method("say_hello", |_| { Ok(Value::String("Hello World!".into())) }); let request = r#"{"jsonrpc": "2.0", "method": "say_hello", "params": [42, 23], "id": 1}"#; let response = r#"{"jsonrpc":"2.0","result":"Hello World!","id":1}"#; assert_eq!(io.handle_request(request).wait().unwrap(), Some(response.to_string())); }
Reexports
pub extern crate futures; |
pub use types::*; |
Modules
| types |
JSON-RPC types |
Structs
| IoHandler |
Simplified |
| MetaIoHandler |
Request handler |
| NoopMiddleware |
No-op middleware implementation |
Enums
| Compatibility |
|
| RemoteProcedure |
Possible Remote Procedures with Metadata |
Traits
| Metadata |
Metadata trait |
| Middleware |
RPC middleware |
| RpcMethod |
Asynchronous Method with Metadata |
| RpcMethodSimple |
Asynchronous Method |
| RpcMethodSync |
Synchronous Method |
| RpcNotification |
Notification with Metadata |
| RpcNotificationSimple |
Notification |
Type Definitions
| BoxFuture |
A |
| FutureResponse |
A type representing middleware or RPC response before serialization. |