Crate hors[−][src]
Instant coding answers lib. Which provides two main features:
- get stackoverflow links according to user input query.
- get actual answers according to stackoverflow links.
Examples
Get stackoverflow links according to user input query.
use std::str::FromStr; use hors::{self, SearchEngine}; let search_engine: SearchEngine = SearchEngine::from_str("bing").unwrap(); let target_links: Vec<String> = hors::search_links( "how to parse json in rust", search_engine, ) .await .unwrap(); assert_ne!(target_links.len(), 0); for link in target_links { assert!(link.contains("stackoverflow.com")); }
Get actual answers according to stackoverflow links.
use hors::{self, Config, OutputOption}; let conf: Config = Config::new(OutputOption::OnlyCode, 3, false); let links: Vec<String> = vec![ String::from("https://stackoverflow.com/questions/7771011/how-to-parse-data-in-json") ]; let answers: String = hors::get_answers(&links, conf).await.unwrap(); assert!( answers.contains( r#"data = json.loads('{"one" : "1", "two" : "2", "three" : "3"}')"# ) );
Advanced usage:
Calling get_answers
or search_links
will make a new connection through network, if you want
to make use of connection pool, please use get_answers_with_client
and search_links_with_client
.
In this way, all you need to do is initialize a reqwest::Client
through reqwest::ClientBuilder
,
just remember to set cookie_store on ClientBuilder
to true.
Examples
use std::str::FromStr; use hors::{self, Config, OutputOption, SearchEngine}; use reqwest::{Client, ClientBuilder}; let search_engine: SearchEngine = SearchEngine::from_str("bing").unwrap(); // please make sure that `cookie_store` should set to `true` in client builder. let mut client: Client = ClientBuilder::new().cookie_store(true).build().unwrap(); let target_links: Vec<String> = hors::search_links_with_client( "how to parse json in rust", search_engine, &client ) .await .unwrap(); assert_ne!(target_links.len(), 0); for link in target_links { assert!(link.contains("stackoverflow.com")); }
Re-exports
pub use config::Config; |
pub use config::OutputOption; |
pub use config::PagingOption; |
pub use config::SearchEngine; |
pub use engine::search_links; |
pub use engine::search_links_with_client; |
Modules
answer | |
config | |
engine |
Enums
Error | |
Output |
Constants
SPLITTER |
Functions
clear_local_cache | Remove local cache file if it’s existed. |
get_answers | Get answers from given links. |
get_answers_with_client | Get answers from given links. |
Type Definitions
Result |