pub struct HTTExtensionManager { /* private fields */ }Expand description
Extension manager for coordinating multiple extensions.
Implementations§
Source§impl HTTExtensionManager
impl HTTExtensionManager
Sourcepub fn register_extension<E: HTTExtensionBase + 'static>(
&mut self,
extension: E,
config: HashMap<String, String>,
) -> ExtensionResult<()>
pub fn register_extension<E: HTTExtensionBase + 'static>( &mut self, extension: E, config: HashMap<String, String>, ) -> ExtensionResult<()>
Register an extension.
Sourcepub fn get_extension(&self, name: &str) -> Option<&dyn HTTExtensionBase>
pub fn get_extension(&self, name: &str) -> Option<&dyn HTTExtensionBase>
Get an extension by name.
Sourcepub fn get_extension_mut(
&mut self,
name: &str,
) -> Option<&mut (dyn HTTExtensionBase + 'static)>
pub fn get_extension_mut( &mut self, name: &str, ) -> Option<&mut (dyn HTTExtensionBase + 'static)>
Get a mutable extension by name.
Sourcepub fn get_extension_as<T: 'static>(&self, name: &str) -> Option<&T>
pub fn get_extension_as<T: 'static>(&self, name: &str) -> Option<&T>
Get an extension as a specific type.
Sourcepub fn get_extension_mut_as<T: 'static>(&mut self, name: &str) -> Option<&mut T>
pub fn get_extension_mut_as<T: 'static>(&mut self, name: &str) -> Option<&mut T>
Get a mutable extension as a specific type.
Sourcepub fn extension_names(&self) -> Vec<String>
pub fn extension_names(&self) -> Vec<String>
Get all registered extension names.
Sourcepub fn extensions_with_capability(
&self,
capability: fn(&ExtensionCapabilities) -> bool,
) -> Vec<&dyn HTTExtensionBase>
pub fn extensions_with_capability( &self, capability: fn(&ExtensionCapabilities) -> bool, ) -> Vec<&dyn HTTExtensionBase>
Get all extensions with specific capabilities.
Sourcepub fn initialize_all(&mut self) -> ExtensionResult<()>
pub fn initialize_all(&mut self) -> ExtensionResult<()>
Initialize all extensions in dependency order.
Sourcepub fn shutdown_all(&mut self) -> ExtensionResult<()>
pub fn shutdown_all(&mut self) -> ExtensionResult<()>
Shut down all extensions in reverse dependency order.
Sourcepub fn get_config(&self, name: &str) -> Option<&HashMap<String, String>>
pub fn get_config(&self, name: &str) -> Option<&HashMap<String, String>>
Get configuration for an extension.
Sourcepub fn set_config(
&mut self,
name: &str,
config: HashMap<String, String>,
) -> ExtensionResult<()>
pub fn set_config( &mut self, name: &str, config: HashMap<String, String>, ) -> ExtensionResult<()>
Set configuration for an extension.
Sourcepub fn has_extension(&self, name: &str) -> bool
pub fn has_extension(&self, name: &str) -> bool
Check if an extension is registered.
Sourcepub fn remove_extension(&mut self, name: &str) -> ExtensionResult<()>
pub fn remove_extension(&mut self, name: &str) -> ExtensionResult<()>
Remove an extension.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for HTTExtensionManager
impl !UnwindSafe for HTTExtensionManager
impl Freeze for HTTExtensionManager
impl Send for HTTExtensionManager
impl Sync for HTTExtensionManager
impl Unpin for HTTExtensionManager
impl UnsafeUnpin for HTTExtensionManager
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more