#[derive(
schemars::JsonSchema, serde::Serialize, serde::Deserialize, PartialEq, Eq, Clone, Debug,
)]
pub struct HttpRequest {
pub path: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub method: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub headers: Option<Vec<HttpHeader>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub body: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub expect: Option<HttpRequestExpect>,
}
#[derive(
schemars::JsonSchema, serde::Serialize, serde::Deserialize, PartialEq, Eq, Clone, Debug,
)]
pub struct HttpHeader {
pub name: String,
pub value: String,
}
#[derive(
schemars::JsonSchema, serde::Serialize, serde::Deserialize, PartialEq, Eq, Clone, Debug,
)]
pub struct HttpRequestExpect {
#[serde(skip_serializing_if = "Option::is_none")]
pub status_codes: Option<Vec<u16>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub body_includes: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub body_regex: Option<String>,
}