//! ref: composer/src/Composer/Util/Http/CurlResponse.php use indexmap::IndexMap; use shirabe_php_shim::PhpMixed; use super::Response; #[derive(Debug)] pub struct CurlResponse { pub(crate) inner: Response, curl_info: IndexMap, } impl CurlResponse { pub fn new( request: IndexMap, code: Option, headers: Vec, body: Option, curl_info: IndexMap, ) -> anyhow::Result> { match Response::new(request, code, headers, body)? { Ok(inner) => Ok(Ok(Self { inner, curl_info })), Err(e) => Ok(Err(e)), } } pub fn get_curl_info(&self) -> &IndexMap { &self.curl_info } }