pub struct ExtractorRegistry {
extractors: HashMap<String, Arc<dyn ContentExtractor>>,
mime_mapping: HashMap<String, String>,
}Expand description
Registry of content extractors.
Fields§
§extractors: HashMap<String, Arc<dyn ContentExtractor>>Named extractors
mime_mapping: HashMap<String, String>MIME type to extractor name mapping
Implementations§
Source§impl ExtractorRegistry
impl ExtractorRegistry
Sourcepub fn register<E: ContentExtractor + 'static>(
&mut self,
name: &str,
extractor: E,
)
pub fn register<E: ContentExtractor + 'static>( &mut self, name: &str, extractor: E, )
Register an extractor.
Sourcepub fn get_for_mime(&self, mime_type: &str) -> Option<Arc<dyn ContentExtractor>>
pub fn get_for_mime(&self, mime_type: &str) -> Option<Arc<dyn ContentExtractor>>
Get an extractor for a MIME type.
Sourcepub fn get_for_file(
&self,
path: &Path,
mime_type: &str,
) -> Option<Arc<dyn ContentExtractor>>
pub fn get_for_file( &self, path: &Path, mime_type: &str, ) -> Option<Arc<dyn ContentExtractor>>
Get an extractor that can handle a file.
Sourcepub async fn extract(
&self,
path: &Path,
mime_type: &str,
) -> Result<ExtractedContent, ExtractError>
pub async fn extract( &self, path: &Path, mime_type: &str, ) -> Result<ExtractedContent, ExtractError>
Extract content from a file.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ExtractorRegistry
impl !RefUnwindSafe for ExtractorRegistry
impl Send for ExtractorRegistry
impl Sync for ExtractorRegistry
impl Unpin for ExtractorRegistry
impl !UnwindSafe for ExtractorRegistry
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().