some upgrades
This commit is contained in:
27
src/api.rs
27
src/api.rs
@@ -16,6 +16,7 @@ use crate::providers::rule34video::Rule34videoProvider;
|
||||
// use crate::providers::spankbang::SpankbangProvider;
|
||||
use crate::util::cache::VideoCache;
|
||||
use crate::util::discord::send_discord_error_report;
|
||||
use crate::util::proxy::{Proxy, all_proxies_snapshot};
|
||||
use crate::util::requester::Requester;
|
||||
use crate::{DbPool, db, status::*, videos::*};
|
||||
use cute::c;
|
||||
@@ -110,6 +111,10 @@ pub fn config(cfg: &mut web::ServiceConfig) {
|
||||
web::resource("/test")
|
||||
.route(web::get().to(test))
|
||||
)
|
||||
.service(
|
||||
web::resource("/proxies")
|
||||
.route(web::get().to(proxies))
|
||||
)
|
||||
;
|
||||
}
|
||||
|
||||
@@ -1202,3 +1207,25 @@ pub async fn test() -> Result<impl web::Responder, web::Error> {
|
||||
|
||||
Ok(web::HttpResponse::Ok())
|
||||
}
|
||||
|
||||
pub async fn proxies() -> Result<impl web::Responder, web::Error> {
|
||||
let proxies = all_proxies_snapshot().await.unwrap_or_default();
|
||||
let mut by_protocol: std::collections::BTreeMap<String, Vec<Proxy>> =
|
||||
std::collections::BTreeMap::new();
|
||||
for proxy in proxies {
|
||||
by_protocol
|
||||
.entry(proxy.protocol.clone())
|
||||
.or_default()
|
||||
.push(proxy);
|
||||
}
|
||||
for proxies in by_protocol.values_mut() {
|
||||
proxies.sort_by(|a, b| {
|
||||
a.host
|
||||
.cmp(&b.host)
|
||||
.then(a.port.cmp(&b.port))
|
||||
.then(a.username.cmp(&b.username))
|
||||
.then(a.password.cmp(&b.password))
|
||||
});
|
||||
}
|
||||
Ok(web::HttpResponse::Ok().json(&by_protocol))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user