Trait htrpc::RpcResponse [] [src]

pub trait RpcResponse: Serialize + for<'a> Deserialize<'a> { }

RPC Response.

Implementations of this trait have to follow conventions as follows.

extern crate htrpc;
extern crate serde;
#[macro_use]
extern crate serde_derive;

use htrpc::RpcResponse;

#[derive(Serialize, Deserialize)]
enum FooResponse {
    Ok { header: Header, body: Vec<u8> },
    NotFound { header: Header },
    MethodNotAllowed,
    InternalServerError { body: String },
}
impl RpcResponse for FooResponse {}

#[derive(Serialize, Deserialize)]
struct Header {
  #[serde(rename = "X-Foo")]
  foo: String
}

Implementors