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 |