#json-rpc #rpc-server #server #rpc #json-rpc-server #json

rs-jsonrpc-http-server

使用 JSON-RPC 2.0 的 Rust HTTP 服务器

1 个稳定版本

使用旧 Rust 2015

8.0.0 2019 年 5 月 14 日

#1271 in HTTP 服务器

MIT 许可证

135KB
3.5K SLoC

rs-jsonrpc-http-server

Rust http 服务器使用 JSON-RPC 2.0。

文档

示例

Cargo.toml

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

main.rs

extern crate rs_jsonrpc_core;
extern crate rs_jsonrpc_http_server;

use rs_jsonrpc_core::*;
use rs_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 服务器。

extern crate rs_jsonrpc_core;
extern crate rs_jsonrpc_http_server;

use rs_jsonrpc_core::*;
use rs_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());
}

依赖项

~14MB
~254K SLoC