pub struct PluginRunner { /* private fields */ }Expand description
Runs an external plugin binary as a SiteProvider.
The plugin receives {"url": "..."} on stdin and must return
{"markdown": "...", "metadata": {...}} on stdout within 30 seconds.
Implementations§
Source§impl PluginRunner
impl PluginRunner
Sourcepub fn new(config: PluginConfig) -> Result<Self>
pub fn new(config: PluginConfig) -> Result<Self>
Create a runner from a plugin configuration.
Compiles all URL patterns as regexes.
§Errors
Returns an error if any URL pattern is not a valid regex.
Trait Implementations§
Source§impl SiteProvider for PluginRunner
impl SiteProvider for PluginRunner
Source§fn extract<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
url: &'life1 str,
_client: &'life2 AcceleratedClient,
_cookies: Option<&'life3 str>,
_prefetched_html: Option<&'life4 [u8]>,
) -> Pin<Box<dyn Future<Output = Result<SiteContent>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn extract<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
url: &'life1 str,
_client: &'life2 AcceleratedClient,
_cookies: Option<&'life3 str>,
_prefetched_html: Option<&'life4 [u8]>,
) -> Pin<Box<dyn Future<Output = Result<SiteContent>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Extract content from the URL using the provider’s API/method. Read more
Auto Trait Implementations§
impl Freeze for PluginRunner
impl RefUnwindSafe for PluginRunner
impl Send for PluginRunner
impl Sync for PluginRunner
impl Unpin for PluginRunner
impl UnsafeUnpin for PluginRunner
impl UnwindSafe for PluginRunner
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