This crate provides a json rpc endpoint.
```rust,norun use roa::App; use roajsonrpc::{RpcEndpoint, Data, Error, Params, Server}; use std::error::Error as StdError;
struct TwoNums { a: usize, b: usize, }
async fn add(Params(params): Params
async fn sub(Params(params): Params<(usize, usize)>) -> Result
async fn message(data: Data
async fn main() -> std::io::Result<()> { let rpc = Server::new() .withdata(Data::new(String::from("Hello!"))) .withmethod("sub", sub) .with_method("message", message) .finish();
let app = App::new().end(RpcEndpoint(rpc));
app.listen("127.0.0.1:8000", |addr| {
info!("Server is listening on {}", addr)
})?
.await?;
Ok(())
} ```