use crate::core::operation::Operation;
use crate::error::Result;
#[allow(missing_docs)]
#[derive(Debug)]
pub struct RequestSpec {
pub method: http::Method,
pub path: String,
pub query: Vec<(&'static str, String)>,
pub headers: Vec<(&'static str, String)>,
pub body: Option<Vec<u8>>,
}
impl RequestSpec {
pub fn build<O: Operation>(op: &O) -> Result<Self> {
Ok(RequestSpec {
method: O::METHOD,
path: op.path(),
query: op.query(),
headers: op.headers(),
body: op.body()?,
})
}
}