torigen_mounter 1.0.5

Core functionality for Torigen, a tool for mounting and managing Tor hidden services.
Documentation
pub trait WasmExtension {
    fn get_source_info(&self) -> String;
    fn get_metadata(&self) -> String;

    fn get_homepage_request(&self) -> String;
    fn process_homepage_res(&self, responses_json: &str) -> String;
    fn get_viewmore_request(&self, section_id: &str, page: u32) -> String;
    fn process_viewmore_res(&self, response_json: &str) -> String;

    fn get_search_request(&self, query_json: &str) -> String;
    fn process_search_res(&self, response_json: &str) -> String;
    fn get_search_tags_request(&self) -> String;
    fn process_search_tags_res(&self, response_json: &str) -> String;

    fn get_manga_request(&self, manga_id: &str) -> String;
    fn process_manga_res(&self, response_json: &str) -> String;
    fn get_chapters_request(&self, manga_id: &str) -> String;
    fn process_chapters_res(&self, response_json: &str) -> String;
    fn get_chapter_details_request(&self, manga_id: &str, chapter_id: &str) -> String;
    fn process_chapter_details_res(&self, responses_json: &str) -> String;
}

pub enum ExtensionMethods {
    GetSourceInfo,
    GetMetadata,
    GetHomepageRequest,
    ProcessHomepageRes,
    GetViewmoreRequest,
    ProcessViewmoreRes,
    GetSearchRequest,
    ProcessSearchRes,
    GetSearchTagsRequest,
    ProcessSearchTagsRes,
    GetMangaRequest,
    ProcessMangaRes,
    GetChaptersRequest,
    ProcessChaptersRes,
    GetChapterDetailsRequest,
    ProcessChapterDetailsRes,
}

impl ExtensionMethods {
    pub fn from_str(method: &str) -> Option<Self> {
        match method {
            "get_source_info" => Some(Self::GetSourceInfo),
            "get_metadata" => Some(Self::GetMetadata),
            "get_homepage_request" => Some(Self::GetHomepageRequest),
            "process_homepage_res" => Some(Self::ProcessHomepageRes),
            "get_viewmore_request" => Some(Self::GetViewmoreRequest),
            "process_viewmore_res" => Some(Self::ProcessViewmoreRes),
            "get_search_request" => Some(Self::GetSearchRequest),
            "process_search_res" => Some(Self::ProcessSearchRes),
            "get_search_tags_request" => Some(Self::GetSearchTagsRequest),
            "process_search_tags_res" => Some(Self::ProcessSearchTagsRes),
            "get_manga_request" => Some(Self::GetMangaRequest),
            "process_manga_res" => Some(Self::ProcessMangaRes),
            "get_chapters_request" => Some(Self::GetChaptersRequest),
            "process_chapters_res" => Some(Self::ProcessChaptersRes),
            "get_chapter_details_request" => Some(Self::GetChapterDetailsRequest),
            "process_chapter_details_res" => Some(Self::ProcessChapterDetailsRes),
            _ => None,
        }
    }
}