use std::collections::{BTreeMap, BTreeSet}; use serde::{Deserialize, Serialize}; use serde_json::Value; #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RestRequest { #[serde(default, skip_serializing_if = "BTreeMap::is_empty")] pub path_params: BTreeMap, #[serde(default, skip_serializing_if = "BTreeMap::is_empty")] pub query_params: BTreeMap, #[serde(default, skip_serializing_if = "BTreeMap::is_empty")] pub headers: BTreeMap, #[serde(default, skip_serializing_if = "BTreeSet::is_empty")] pub trusted_header_names: BTreeSet, #[serde(skip_serializing_if = "Option::is_none")] pub body: Option, pub timeout_ms: u64, } #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] pub struct RestResponse { pub status_code: u16, #[serde(default, skip_serializing_if = "BTreeMap::is_empty")] pub headers: BTreeMap, pub body: Value, }