mirror of
https://github.com/neon-mmd/websurfx.git
synced 2024-11-22 14:08:23 -05:00
This commit is contained in:
parent
f5f0488954
commit
2a68081ae2
@ -2,7 +2,7 @@
|
|||||||
//! the upstream search engines with the search query provided by the user.
|
//! the upstream search engines with the search query provided by the user.
|
||||||
|
|
||||||
use crate::results::aggregation_models::SearchResult;
|
use crate::results::aggregation_models::SearchResult;
|
||||||
use error_stack::{IntoReport, Result, ResultExt};
|
use error_stack::{Result, ResultExt};
|
||||||
use std::{collections::HashMap, fmt, time::Duration};
|
use std::{collections::HashMap, fmt, time::Duration};
|
||||||
|
|
||||||
/// A custom error type used for handle engine associated errors.
|
/// A custom error type used for handle engine associated errors.
|
||||||
@ -48,7 +48,7 @@ impl error_stack::Context for EngineError {}
|
|||||||
pub trait SearchEngine: Sync + Send {
|
pub trait SearchEngine: Sync + Send {
|
||||||
async fn fetch_html_from_upstream(
|
async fn fetch_html_from_upstream(
|
||||||
&self,
|
&self,
|
||||||
url: String,
|
url: &str,
|
||||||
header_map: reqwest::header::HeaderMap,
|
header_map: reqwest::header::HeaderMap,
|
||||||
request_timeout: u8,
|
request_timeout: u8,
|
||||||
) -> Result<String, EngineError> {
|
) -> Result<String, EngineError> {
|
||||||
@ -59,19 +59,17 @@ pub trait SearchEngine: Sync + Send {
|
|||||||
.headers(header_map) // add spoofed headers to emulate human behavior
|
.headers(header_map) // add spoofed headers to emulate human behavior
|
||||||
.send()
|
.send()
|
||||||
.await
|
.await
|
||||||
.into_report()
|
|
||||||
.change_context(EngineError::RequestError)?
|
.change_context(EngineError::RequestError)?
|
||||||
.text()
|
.text()
|
||||||
.await
|
.await
|
||||||
.into_report()
|
|
||||||
.change_context(EngineError::RequestError)?)
|
.change_context(EngineError::RequestError)?)
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn results(
|
async fn results(
|
||||||
&self,
|
&self,
|
||||||
query: String,
|
query: &str,
|
||||||
page: u32,
|
page: u32,
|
||||||
user_agent: String,
|
user_agent: &str,
|
||||||
request_timeout: u8,
|
request_timeout: u8,
|
||||||
) -> Result<HashMap<String, SearchResult>, EngineError>;
|
) -> Result<HashMap<String, SearchResult>, EngineError>;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user