1 stable release

Uses old Rust 2015

7.1.0 Aug 30, 2017

#57 in #json-rpc-server


Used in sputnikvm-dev

MIT license

150KB
4K SLoC

jsonrpc-http-server

Rust http server using JSON-RPC 2.0.

Documentation

Example

Cargo.toml

[dependencies]
jsonrpc-core = { git = "https://github.com/paritytech/jsonrpc" }
jsonrpc-http-server = { git = "https://github.com/paritytech/jsonrpc" }

main.rs

extern crate jsonrpc_core;
extern crate jsonrpc_http_server;

use jsonrpc_core::*;
use jsonrpc_http_server::*;

fn main() {
    let mut io = IoHandler::default();
    io.add_method("say_hello", |_| {
		Ok(Value::String("hello".into()))
	});

    let server = ServerBuilder::new(io)
			.cors(DomainsValidation::AllowOnly(vec![AccessControlAllowOrigin::Null]))
			.start_http(&"127.0.0.1:3030".parse().unwrap())
			.expect("Unable to start RPC server");

	server.wait().unwrap();
}

lib.rs:

jsonrpc http server.

extern crate jsonrpc_core;
extern crate jsonrpc_http_server;

use jsonrpc_core::*;
use jsonrpc_http_server::*;

fn main() {
	let mut io = IoHandler::new();
	io.add_method("say_hello", |_: Params| {
		Ok(Value::String("hello".to_string()))
	});

	let _server = ServerBuilder::new(io).start_http(&"127.0.0.1:3030".parse().unwrap());
}

Dependencies

~14MB
~254K SLoC