Debug endpoint
This commit is contained in:
parent
f59470d89f
commit
e75a341241
@ -2,7 +2,7 @@ use crate::{
|
|||||||
service::Service,
|
service::Service,
|
||||||
statics::{self, CF_ZONE_IDENT},
|
statics::{self, CF_ZONE_IDENT},
|
||||||
};
|
};
|
||||||
use actix_web::{http::header, Error};
|
use actix_web::{http::header, Error, HttpResponse};
|
||||||
use awc::Client;
|
use awc::Client;
|
||||||
use futures::Future;
|
use futures::Future;
|
||||||
|
|
||||||
@ -13,6 +13,24 @@ impl Cloudflare {
|
|||||||
&CF_ZONE_IDENT
|
&CF_ZONE_IDENT
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub(crate) fn dbg<T: Service>(
|
||||||
|
client: &Client,
|
||||||
|
file: &str,
|
||||||
|
) -> impl Future<Item = HttpResponse, Error = Error> {
|
||||||
|
client
|
||||||
|
.post(format!(
|
||||||
|
"https://api.cloudflare.com/client/v4/zones/{}/purge_cache",
|
||||||
|
Self::identifier()
|
||||||
|
))
|
||||||
|
.header(header::USER_AGENT, statics::USER_AGENT.as_str())
|
||||||
|
.header("X-Auth-Email", Self::auth_email())
|
||||||
|
.header("X-Auth-Key", Self::auth_key())
|
||||||
|
.content_type("application/json")
|
||||||
|
.send_json(&CfPurgeRequest::singleton::<T>(file))
|
||||||
|
.from_err()
|
||||||
|
.and_then(|response| HttpResponse::build(response.status()).streaming(response))
|
||||||
|
}
|
||||||
|
|
||||||
pub(crate) fn purge_cache<T: Service>(
|
pub(crate) fn purge_cache<T: Service>(
|
||||||
client: &Client,
|
client: &Client,
|
||||||
file: &str,
|
file: &str,
|
||||||
|
@ -104,6 +104,13 @@ fn purge_cache<T: Service>(
|
|||||||
.map(|success| HttpResponse::Ok().body(success.to_string()))
|
.map(|success| HttpResponse::Ok().body(success.to_string()))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn dbg<T: Service>(
|
||||||
|
client: web::Data<Client>,
|
||||||
|
file: web::Path<String>,
|
||||||
|
) -> impl Future<Item = HttpResponse, Error = Error> {
|
||||||
|
Cloudflare::dbg::<T>(&client, &file)
|
||||||
|
}
|
||||||
|
|
||||||
fn main() -> Result<()> {
|
fn main() -> Result<()> {
|
||||||
std::env::set_var("RUST_LOG", "actix_server=info,actix_web=trace");
|
std::env::set_var("RUST_LOG", "actix_server=info,actix_web=trace");
|
||||||
pretty_env_logger::init();
|
pretty_env_logger::init();
|
||||||
@ -118,26 +125,20 @@ fn main() -> Result<()> {
|
|||||||
"/github/{user}/{repo}/{commit}/{file:.*}",
|
"/github/{user}/{repo}/{commit}/{file:.*}",
|
||||||
web::get().to_async(handle_request::<Github>),
|
web::get().to_async(handle_request::<Github>),
|
||||||
)
|
)
|
||||||
.route(
|
.route("/github/{file:.*}", web::delete().to_async(dbg::<Github>))
|
||||||
"/github/{file:.*}",
|
|
||||||
web::delete().to_async(purge_cache::<Github>),
|
|
||||||
)
|
|
||||||
.route(
|
.route(
|
||||||
"/bitbucket/{user}/{repo}/{commit}/{file:.*}",
|
"/bitbucket/{user}/{repo}/{commit}/{file:.*}",
|
||||||
web::get().to_async(handle_request::<Bitbucket>),
|
web::get().to_async(handle_request::<Bitbucket>),
|
||||||
)
|
)
|
||||||
.route(
|
.route(
|
||||||
"/bitbucket//{file:.*}",
|
"/bitbucket//{file:.*}",
|
||||||
web::delete().to_async(purge_cache::<Bitbucket>),
|
web::delete().to_async(dbg::<Bitbucket>),
|
||||||
)
|
)
|
||||||
.route(
|
.route(
|
||||||
"/gitlab/{user}/{repo}/{commit}/{file:.*}",
|
"/gitlab/{user}/{repo}/{commit}/{file:.*}",
|
||||||
web::get().to_async(handle_request::<GitLab>),
|
web::get().to_async(handle_request::<GitLab>),
|
||||||
)
|
)
|
||||||
.route(
|
.route("/gitlab/{file:.*}", web::delete().to_async(dbg::<GitLab>))
|
||||||
"/gitlab/{file:.*}",
|
|
||||||
web::delete().to_async(purge_cache::<GitLab>),
|
|
||||||
)
|
|
||||||
.service(actix_files::Files::new("/", "public").index_file("index.html"))
|
.service(actix_files::Files::new("/", "public").index_file("index.html"))
|
||||||
})
|
})
|
||||||
.workers(OPT.workers)
|
.workers(OPT.workers)
|
||||||
|
Loading…
Reference in New Issue
Block a user