use std::collections::HashMap; use matchit::Params; use openssl::x509::X509; use url::Url; #[allow(clippy::module_name_repetitions)] #[derive(Clone)] pub struct HookContext { pub peer_address: Option, pub url: Url, pub parameters: Option>, pub certificate: Option, } impl HookContext { #[must_use] pub fn new( peer_address: std::io::Result, url: Url, parameters: Option>, certificate: Option, ) -> Self { Self { peer_address: peer_address.ok(), url, parameters: parameters.map(|p| crate::utilities::params_to_hashmap(&p)), certificate, } } }