use crate::dto::prelude::*;
#[derive(CandidType, Clone, Debug, Deserialize)]
pub struct HttpRequestArgs {
pub url: String,
pub max_response_bytes: Option<u64>,
pub method: HttpMethod,
pub headers: Vec<HttpHeader>,
pub body: Option<Vec<u8>>,
pub is_replicated: Option<bool>,
}
#[derive(CandidType, Clone, Debug, Deserialize)]
pub struct HttpRequestResult {
pub status: Nat,
pub headers: Vec<HttpHeader>,
#[serde(with = "serde_bytes")]
pub body: Vec<u8>,
}
#[derive(CandidType, Clone, Copy, Debug, Deserialize)]
pub enum HttpMethod {
#[serde(rename = "get")]
GET,
#[serde(rename = "post")]
POST,
#[serde(rename = "head")]
HEAD,
}
#[derive(CandidType, Clone, Debug, Deserialize)]
pub struct HttpHeader {
pub name: String,
pub value: String,
}