Trait novel_api::Client

source ·
pub trait Client {
    fn proxy(&mut self, proxy: Url);
    fn no_proxy(&mut self);
    fn cert<T>(&mut self, cert_path: T)
    where
        T: AsRef<Path>
; fn add_cookie<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        cookie_str: &'life1 str,
        url: &'life2 Url
    ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
    where
        Self: 'async_trait,
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait
; fn login<'life0, 'async_trait, T, E>(
        &'life0 self,
        username: T,
        password: E
    ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
    where
        T: AsRef<str> + Send + Sync + 'async_trait,
        E: AsRef<str> + Send + Sync + 'async_trait,
        Self: 'async_trait,
        'life0: 'async_trait
; fn user_info<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Option<UserInfo>, Error>> + Send + 'async_trait>>
    where
        Self: 'async_trait,
        'life0: 'async_trait
; fn novel_info<'life0, 'async_trait>(
        &'life0 self,
        id: u32
    ) -> Pin<Box<dyn Future<Output = Result<Option<NovelInfo>, Error>> + Send + 'async_trait>>
    where
        Self: 'async_trait,
        'life0: 'async_trait
; fn volume_infos<'life0, 'async_trait>(
        &'life0 self,
        id: u32
    ) -> Pin<Box<dyn Future<Output = Result<VolumeInfos, Error>> + Send + 'async_trait>>
    where
        Self: 'async_trait,
        'life0: 'async_trait
; fn content_infos<'life0, 'life1, 'async_trait>(
        &'life0 self,
        info: &'life1 ChapterInfo
    ) -> Pin<Box<dyn Future<Output = Result<ContentInfos, Error>> + Send + 'async_trait>>
    where
        Self: 'async_trait,
        'life0: 'async_trait,
        'life1: 'async_trait
; fn image_info<'life0, 'life1, 'async_trait>(
        &'life0 self,
        url: &'life1 Url
    ) -> Pin<Box<dyn Future<Output = Result<DynamicImage, Error>> + Send + 'async_trait>>
    where
        Self: 'async_trait,
        'life0: 'async_trait,
        'life1: 'async_trait
; fn search_infos<'life0, 'async_trait, T>(
        &'life0 self,
        text: T,
        page: u16,
        size: u16
    ) -> Pin<Box<dyn Future<Output = Result<Vec<u32>, Error>> + Send + 'async_trait>>
    where
        T: AsRef<str> + Send + Sync + 'async_trait,
        Self: 'async_trait,
        'life0: 'async_trait
; fn favorite_infos<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Vec<u32>, Error>> + Send + 'async_trait>>
    where
        Self: 'async_trait,
        'life0: 'async_trait
; }
Expand description

Traits that abstract client behavior

Required Methods§

set proxy

Do not use proxy (environment variables used to set proxy are ignored)

Set the certificate path for use with packet capture tools

Add cookie

Login

Get the information of the logged-in user, if the information fails to get, it will return None

Get Novel Information

Get volume Information

Get content Information

Download image

Search, return novel id

Get the favorite novel of the logged-in user and return the novel id

Implementors§