[][src]Crate jsonrpc_http_server

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())
	.expect("Unable to start RPC server");

_server.wait();
}

Re-exports

pub use hyper;
pub use jsonrpc_core;
pub use crate::server_utils::tokio;

Modules

cors

CORS handling utility functions

Structs

CloseHandle

Handle used to close the server. Can be cloned and passed around to different threads and be used to close a server that is wait()ing.

Host

Host type

Origin

Request Origin

Response

Simple server response structure

Rpc

RPC Handler bundled with metadata extractor.

Server

jsonrpc http server instance

ServerBuilder

Convenient JSON-RPC HTTP Server builder.

ServerHandler

jsonrpc http request handler.

SuspendableStream

Incoming is a stream of incoming sockets Polling the stream may return a temporary io::Error (for instance if we can't open the connection because of "too many open files" limit) we use for_each combinator which:

Enums

AccessControlAllowOrigin

Origins allowed to access

AllowCors

CORS response headers

DomainsValidation

Specifies if domains should be validated.

RequestMiddlewareAction

Action undertaken by a middleware.

RestApi

REST -> RPC converter state.

Traits

MetaExtractor

Extracts metadata from the HTTP request.

RequestMiddleware

Allows to intercept request and handle it differently.

Functions

cors_allow_headers

Returns the CORS AllowHeaders header that should be returned with that request.

cors_allow_origin

Returns a CORS AllowOrigin header that should be returned with that request.

is_host_allowed

Returns true if Host header in request matches a list of allowed hosts.