mirror of
https://github.com/meilisearch/meilisearch.git
synced 2024-11-30 09:04:59 +08:00
Add cancel log route
This commit is contained in:
parent
2f484b7382
commit
9ca4db6ef0
@ -13,8 +13,6 @@ use meilisearch_types::deserr::DeserrJsonError;
|
|||||||
use meilisearch_types::error::deserr_codes::*;
|
use meilisearch_types::error::deserr_codes::*;
|
||||||
use meilisearch_types::error::ResponseError;
|
use meilisearch_types::error::ResponseError;
|
||||||
use tokio::sync::mpsc::{self, UnboundedSender};
|
use tokio::sync::mpsc::{self, UnboundedSender};
|
||||||
use tracing::instrument::WithSubscriber;
|
|
||||||
use tracing_subscriber::filter::Targets;
|
|
||||||
use tracing_subscriber::Layer;
|
use tracing_subscriber::Layer;
|
||||||
|
|
||||||
use crate::error::MeilisearchHttpError;
|
use crate::error::MeilisearchHttpError;
|
||||||
@ -24,7 +22,11 @@ use crate::extractors::sequential_extractor::SeqHandler;
|
|||||||
use crate::LogRouteHandle;
|
use crate::LogRouteHandle;
|
||||||
|
|
||||||
pub fn configure(cfg: &mut web::ServiceConfig) {
|
pub fn configure(cfg: &mut web::ServiceConfig) {
|
||||||
cfg.service(web::resource("").route(web::post().to(SeqHandler(get_logs))));
|
cfg.service(
|
||||||
|
web::resource("")
|
||||||
|
.route(web::post().to(SeqHandler(get_logs)))
|
||||||
|
.route(web::delete().to(SeqHandler(cancel_logs))),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Default, Clone, Copy, Deserr)]
|
#[derive(Debug, Default, Clone, Copy, Deserr)]
|
||||||
@ -189,3 +191,15 @@ pub async fn get_logs(
|
|||||||
Err(MeilisearchHttpError::AlreadyUsedLogRoute.into())
|
Err(MeilisearchHttpError::AlreadyUsedLogRoute.into())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub async fn cancel_logs(
|
||||||
|
_auth_controller: GuardedData<ActionPolicy<{ actions::METRICS_ALL }>, Data<AuthController>>,
|
||||||
|
logs: Data<LogRouteHandle>,
|
||||||
|
_req: HttpRequest,
|
||||||
|
) -> Result<HttpResponse, ResponseError> {
|
||||||
|
if let Err(e) = logs.modify(|layer| *layer.inner_mut() = None) {
|
||||||
|
tracing::error!("Could not free the logs route: {e}");
|
||||||
|
}
|
||||||
|
|
||||||
|
Ok(HttpResponse::NoContent().finish())
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user