cloudscraper_rs/external_deps/interpreters/
mod.rs1mod boa;
7
8pub use boa::BoaJavascriptInterpreter;
9
10use thiserror::Error;
11
12pub trait JavascriptInterpreter: Send + Sync {
14 fn solve_challenge(&self, page_html: &str, host: &str) -> Result<String, InterpreterError>;
17
18 fn execute(&self, script: &str, host: &str) -> Result<String, InterpreterError> {
20 let _ = (script, host);
21 Err(InterpreterError::Other("execute not implemented".into()))
22 }
23}
24
25#[derive(Debug, Error)]
27pub enum InterpreterError {
28 #[error("javascript execution failed: {0}")]
29 Execution(String),
30 #[error("javascript engine error: {0}")]
31 Other(String),
32}
33
34pub type InterpreterResult<T> = Result<T, InterpreterError>;