use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum Method {
List,
Logs,
Tail,
Done,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RequestHeader {
pub id: u64,
pub method: Method,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Request<T> {
pub id: u64,
pub method: Method,
pub params: T,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Notification<T> {
pub method: Method,
pub params: T,
}
#[derive(Debug, Clone, Serialize)]
pub struct Response<T> {
pub id: u64,
pub result: Option<T>,
pub error: Option<Error>,
}
#[derive(Debug, Clone, Serialize)]
pub struct Error {
pub code: i32,
pub message: String,
}