Crate jsonrpc_core [−] [src]
Transport agnostic jsonrpc library.
Right now it supports only server side handling requests.
extern crate jsonrpc_core; use jsonrpc_core::*; struct SayHello; impl MethodCommand for SayHello { fn execute(&self, _params: Params) -> Result<Value, Error> { Ok(Value::String("hello".to_string())) } } fn main() { let io = IoHandler::new(); io.add_method("say_hello", SayHello); let request = r#"{"jsonrpc": "2.0", "method": "say_hello", "params": [42, 23], "id": 1}"#; let response = r#"{"jsonrpc":"2.0","result":"hello","id":1}"#; assert_eq!(io.handle_request(request), Some(response.to_string())); }
Reexports
pub use self::version::Version; |
pub use self::id::Id; |
pub use self::params::Params; |
pub use self::request::{Request, Call, MethodCall, Notification}; |
pub use self::response::{Response, Output, Success, Failure}; |
pub use self::error::{ErrorCode, Error}; |
pub use self::commander::{Commander, MethodCommand, NotificationCommand}; |
pub use self::request_handler::RequestHandler; |
pub use self::io::{IoHandler, IoDelegate}; |
pub use self::util::{from_params, to_value}; |
Modules
| commander |
method and notification commands executor |
| error |
jsonrpc errors |
| id |
jsonrpc id field |
| io |
jsonrpc io |
| params |
jsonrpc params field |
| request |
jsonrpc request |
| request_handler |
jsonrpc server request handler |
| response |
jsonrpc response |
| util | |
| version |
jsonrpc version field |
Enums
| Value |
Represents a JSON value |