rs-jsonrpc-http-server 8.0.0

Rust http server using JSONRPC 2.0.
Documentation
extern crate rs_jsonrpc_core;
extern crate rs_jsonrpc_http_server;


use rs_jsonrpc_core::{IoHandler, Value};
use rs_jsonrpc_core::futures;
use rs_jsonrpc_http_server::{
	hyper, ServerBuilder, DomainsValidation, AccessControlAllowOrigin, Response, RestApi
};

fn main() {
	let mut io = IoHandler::default();
	io.add_method("say_hello", |_params| {
		futures::finished(Value::String("hello".to_owned()))
	});

	let server = ServerBuilder::new(io)
		.cors(DomainsValidation::AllowOnly(vec![AccessControlAllowOrigin::Null]))
		.request_middleware(|request: hyper::server::Request| {
			if request.path() == "/status" {
				Response::ok("Server running OK.").into()
			} else {
				request.into()
			}
		})
		.rest_api(RestApi::Unsecure)
		.start_http(&"127.0.0.1:3030".parse().unwrap())
		.expect("Unable to start RPC server");

	server.wait();
}