Crate jsonrpc_core [−] [src]
Transport agnostic jsonrpc library.
Right now it supports only server side handling requests.
extern crate jsonrpc_core; extern crate futures; use futures::Future; use jsonrpc_core::*; 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 use types::*; |
Modules
| types |
JSON-RPC types |
Structs
| IoHandler |
Simplified |
| MetaIoHandler |
Request handler |
Enums
| Compatibility |
|
| RemoteProcedure |
Possible Remote Procedures with Metadata |
Traits
| Metadata |
Metadata marker trait |
| RpcMethod |
Asynchronous Method with Metadata |
| RpcMethodSimple |
Asynchronous Method |
| RpcMethodSync |
Synchronous Method |
| RpcNotification |
Notification with Metadata |
| RpcNotificationSimple |
Notification |