use crate::proxies::archivebate::ArchivebateProxy; use crate::proxies::doodstream::DoodstreamProxy; use crate::proxies::heavyfetish::HeavyfetishProxy; use crate::proxies::hqporner::HqpornerProxy; use crate::proxies::pornhd3x::Pornhd3xProxy; use ntex::web; use crate::proxies::pimpbunny::PimpbunnyProxy; use crate::proxies::porndish::PorndishProxy; use crate::proxies::shooshtime::ShooshtimeProxy; use crate::proxies::spankbang::SpankbangProxy; use crate::proxies::vjav::VjavProxy; use crate::{proxies::sxyprn::SxyprnProxy, util::requester::Requester}; use crate::proxies::vidara::VidaraProxy; use crate::proxies::lulustream::LulustreamProxy; pub mod archivebate; pub mod doodstream; pub mod hanimecdn; pub mod heavyfetish; pub mod hqporner; pub mod hqpornerthumb; pub mod javtiful; pub mod lulustream; pub mod noodlemagazine; pub mod pimpbunny; pub mod porndish; pub mod porndishthumb; pub mod pornhd3x; pub mod pornhubthumb; pub mod shooshtime; pub mod spankbang; pub mod sxyprn; pub mod vidara; pub mod vjav; #[derive(Debug, Clone)] pub enum AnyProxy { Archivebate(ArchivebateProxy), Doodstream(DoodstreamProxy), Sxyprn(SxyprnProxy), Javtiful(javtiful::JavtifulProxy), Lulustream(LulustreamProxy), Pornhd3x(Pornhd3xProxy), Pimpbunny(PimpbunnyProxy), Porndish(PorndishProxy), Spankbang(SpankbangProxy), Shooshtime(ShooshtimeProxy), Hqporner(HqpornerProxy), Heavyfetish(HeavyfetishProxy), Vjav(VjavProxy), Vidara(VidaraProxy), } pub trait Proxy { async fn get_video_url(&self, url: String, requester: web::types::State) -> String; } impl Proxy for AnyProxy { async fn get_video_url(&self, url: String, requester: web::types::State) -> String { match self { AnyProxy::Archivebate(p) => p.get_video_url(url, requester).await, AnyProxy::Doodstream(p) => p.get_video_url(url, requester).await, AnyProxy::Sxyprn(p) => p.get_video_url(url, requester).await, AnyProxy::Javtiful(p) => p.get_video_url(url, requester).await, AnyProxy::Lulustream(p) => p.get_video_url(url, requester).await, AnyProxy::Pornhd3x(p) => p.get_video_url(url, requester).await, AnyProxy::Pimpbunny(p) => p.get_video_url(url, requester).await, AnyProxy::Porndish(p) => p.get_video_url(url, requester).await, AnyProxy::Spankbang(p) => p.get_video_url(url, requester).await, AnyProxy::Shooshtime(p) => p.get_video_url(url, requester).await, AnyProxy::Hqporner(p) => p.get_video_url(url, requester).await, AnyProxy::Heavyfetish(p) => p.get_video_url(url, requester).await, AnyProxy::Vjav(p) => p.get_video_url(url, requester).await, AnyProxy::Vidara(p) => p.get_video_url(url, requester).await, } } }