28 lines
711 B
Rust
28 lines
711 B
Rust
use ntex::web;
|
|
|
|
use crate::{proxies::sxyprn::SxyprnProxy, util::requester::Requester};
|
|
|
|
pub mod hanimecdn;
|
|
pub mod hqpornerthumb;
|
|
pub mod javtiful;
|
|
pub mod sxyprn;
|
|
|
|
#[derive(Debug, Clone)]
|
|
pub enum AnyProxy {
|
|
Sxyprn(SxyprnProxy),
|
|
Javtiful(javtiful::JavtifulProxy),
|
|
}
|
|
|
|
pub trait Proxy {
|
|
async fn get_video_url(&self, url: String, requester: web::types::State<Requester>) -> String;
|
|
}
|
|
|
|
impl Proxy for AnyProxy {
|
|
async fn get_video_url(&self, url: String, requester: web::types::State<Requester>) -> String {
|
|
match self {
|
|
AnyProxy::Sxyprn(p) => p.get_video_url(url, requester).await,
|
|
AnyProxy::Javtiful(p) => p.get_video_url(url, requester).await,
|
|
}
|
|
}
|
|
}
|