mirror of
				https://github.com/meilisearch/meilisearch.git
				synced 2025-10-31 07:56:28 +00:00 
			
		
		
		
	debug the body of every http request
This commit is contained in:
		| @@ -33,7 +33,7 @@ pub const fn default_crop_length() -> usize { | ||||
|     DEFAULT_CROP_LENGTH | ||||
| } | ||||
|  | ||||
| #[derive(Deserialize)] | ||||
| #[derive(Deserialize, Debug)] | ||||
| #[serde(rename_all = "camelCase", deny_unknown_fields)] | ||||
| pub struct SearchQuery { | ||||
|     pub q: Option<String>, | ||||
| @@ -62,7 +62,7 @@ pub struct SearchHit { | ||||
|     pub matches_info: Option<MatchesInfo>, | ||||
| } | ||||
|  | ||||
| #[derive(Serialize)] | ||||
| #[derive(Serialize, Debug)] | ||||
| #[serde(rename_all = "camelCase")] | ||||
| pub struct SearchResult { | ||||
|     pub hits: Vec<SearchHit>, | ||||
|   | ||||
| @@ -55,7 +55,7 @@ pub struct IndexSettings { | ||||
|     pub primary_key: Option<String>, | ||||
| } | ||||
|  | ||||
| #[derive(Serialize)] | ||||
| #[derive(Serialize, Debug)] | ||||
| #[serde(rename_all = "camelCase")] | ||||
| pub struct IndexStats { | ||||
|     #[serde(skip)] | ||||
| @@ -76,7 +76,7 @@ pub struct IndexController { | ||||
|     dump_handle: dump_actor::DumpActorHandleImpl, | ||||
| } | ||||
|  | ||||
| #[derive(Serialize)] | ||||
| #[derive(Serialize, Debug)] | ||||
| #[serde(rename_all = "camelCase")] | ||||
| pub struct Stats { | ||||
|     pub database_size: u64, | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| use actix_web::{delete, get, post, put}; | ||||
| use actix_web::{web, HttpResponse}; | ||||
| use indexmap::IndexMap; | ||||
| use log::error; | ||||
| use log::{debug, error}; | ||||
| use milli::update::{IndexDocumentsMethod, UpdateFormat}; | ||||
| use serde::Deserialize; | ||||
| use serde_json::Value; | ||||
| @@ -64,6 +64,7 @@ async fn get_document( | ||||
|     let document = data | ||||
|         .retrieve_document(index, id, None as Option<Vec<String>>) | ||||
|         .await?; | ||||
|     debug!("returns: {:?}", document); | ||||
|     Ok(HttpResponse::Ok().json(document)) | ||||
| } | ||||
|  | ||||
| @@ -78,10 +79,11 @@ async fn delete_document( | ||||
|     let update_status = data | ||||
|         .delete_documents(path.index_uid.clone(), vec![path.document_id.clone()]) | ||||
|         .await?; | ||||
|     debug!("returns: {:?}", update_status); | ||||
|     Ok(HttpResponse::Accepted().json(serde_json::json!({ "updateId": update_status.id() }))) | ||||
| } | ||||
|  | ||||
| #[derive(Deserialize)] | ||||
| #[derive(Deserialize, Debug)] | ||||
| #[serde(rename_all = "camelCase", deny_unknown_fields)] | ||||
| struct BrowseQuery { | ||||
|     offset: Option<usize>, | ||||
| @@ -95,6 +97,7 @@ async fn get_all_documents( | ||||
|     path: web::Path<IndexParam>, | ||||
|     params: web::Query<BrowseQuery>, | ||||
| ) -> Result<HttpResponse, ResponseError> { | ||||
|     debug!("called with params: {:?}", params); | ||||
|     let attributes_to_retrieve = params.attributes_to_retrieve.as_ref().and_then(|attrs| { | ||||
|         let mut names = Vec::new(); | ||||
|         for name in attrs.split(',').map(String::from) { | ||||
| @@ -114,10 +117,11 @@ async fn get_all_documents( | ||||
|             attributes_to_retrieve, | ||||
|         ) | ||||
|         .await?; | ||||
|     debug!("returns: {:?}", documents); | ||||
|     Ok(HttpResponse::Ok().json(documents)) | ||||
| } | ||||
|  | ||||
| #[derive(Deserialize)] | ||||
| #[derive(Deserialize, Debug)] | ||||
| #[serde(rename_all = "camelCase", deny_unknown_fields)] | ||||
| struct UpdateDocumentsQuery { | ||||
|     primary_key: Option<String>, | ||||
| @@ -132,6 +136,7 @@ async fn add_documents( | ||||
|     params: web::Query<UpdateDocumentsQuery>, | ||||
|     body: Payload, | ||||
| ) -> Result<HttpResponse, ResponseError> { | ||||
|     debug!("called with params: {:?}", params); | ||||
|     let update_status = data | ||||
|         .add_documents( | ||||
|             path.into_inner().index_uid, | ||||
| @@ -142,6 +147,7 @@ async fn add_documents( | ||||
|         ) | ||||
|         .await?; | ||||
|  | ||||
|     debug!("returns: {:?}", update_status); | ||||
|     Ok(HttpResponse::Accepted().json(serde_json::json!({ "updateId": update_status.id() }))) | ||||
| } | ||||
|  | ||||
| @@ -176,6 +182,7 @@ async fn update_documents( | ||||
|     params: web::Query<UpdateDocumentsQuery>, | ||||
|     body: Payload, | ||||
| ) -> Result<HttpResponse, ResponseError> { | ||||
|     debug!("called with params: {:?}", params); | ||||
|     let update = data | ||||
|         .add_documents( | ||||
|             path.into_inner().index_uid, | ||||
| @@ -186,6 +193,7 @@ async fn update_documents( | ||||
|         ) | ||||
|         .await?; | ||||
|  | ||||
|     debug!("returns: {:?}", update); | ||||
|     Ok(HttpResponse::Accepted().json(serde_json::json!({ "updateId": update.id() }))) | ||||
| } | ||||
|  | ||||
| @@ -198,6 +206,7 @@ async fn delete_documents( | ||||
|     path: web::Path<IndexParam>, | ||||
|     body: web::Json<Vec<Value>>, | ||||
| ) -> Result<HttpResponse, ResponseError> { | ||||
|     debug!("called with params: {:?}", body); | ||||
|     let ids = body | ||||
|         .iter() | ||||
|         .map(|v| { | ||||
| @@ -208,6 +217,7 @@ async fn delete_documents( | ||||
|         .collect(); | ||||
|  | ||||
|     let update_status = data.delete_documents(path.index_uid.clone(), ids).await?; | ||||
|     debug!("returns: {:?}", update_status); | ||||
|     Ok(HttpResponse::Accepted().json(serde_json::json!({ "updateId": update_status.id() }))) | ||||
| } | ||||
|  | ||||
| @@ -218,5 +228,6 @@ async fn clear_all_documents( | ||||
|     path: web::Path<IndexParam>, | ||||
| ) -> Result<HttpResponse, ResponseError> { | ||||
|     let update_status = data.clear_documents(path.index_uid.clone()).await?; | ||||
|     debug!("returns: {:?}", update_status); | ||||
|     Ok(HttpResponse::Accepted().json(serde_json::json!({ "updateId": update_status.id() }))) | ||||
| } | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| use actix_web::HttpResponse; | ||||
| use actix_web::{get, post, web}; | ||||
| use log::debug; | ||||
| use serde::{Deserialize, Serialize}; | ||||
|  | ||||
| use crate::error::ResponseError; | ||||
| @@ -14,6 +15,7 @@ pub fn services(cfg: &mut web::ServiceConfig) { | ||||
| async fn create_dump(data: web::Data<Data>) -> Result<HttpResponse, ResponseError> { | ||||
|     let res = data.create_dump().await?; | ||||
|  | ||||
|     debug!("returns: {:?}", res); | ||||
|     Ok(HttpResponse::Accepted().json(res)) | ||||
| } | ||||
|  | ||||
| @@ -35,5 +37,6 @@ async fn get_dump_status( | ||||
| ) -> Result<HttpResponse, ResponseError> { | ||||
|     let res = data.dump_status(path.dump_uid.clone()).await?; | ||||
|  | ||||
|     debug!("returns: {:?}", res); | ||||
|     Ok(HttpResponse::Ok().json(res)) | ||||
| } | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| use actix_web::{delete, get, post, put}; | ||||
| use actix_web::{web, HttpResponse}; | ||||
| use chrono::{DateTime, Utc}; | ||||
| use log::debug; | ||||
| use serde::{Deserialize, Serialize}; | ||||
|  | ||||
| use super::{IndexParam, UpdateStatusResponse}; | ||||
| @@ -21,6 +22,7 @@ pub fn services(cfg: &mut web::ServiceConfig) { | ||||
| #[get("/indexes", wrap = "Authentication::Private")] | ||||
| async fn list_indexes(data: web::Data<Data>) -> Result<HttpResponse, ResponseError> { | ||||
|     let indexes = data.list_indexes().await?; | ||||
|     debug!("returns: {:?}", indexes); | ||||
|     Ok(HttpResponse::Ok().json(indexes)) | ||||
| } | ||||
|  | ||||
| @@ -30,6 +32,7 @@ async fn get_index( | ||||
|     path: web::Path<IndexParam>, | ||||
| ) -> Result<HttpResponse, ResponseError> { | ||||
|     let meta = data.index(path.index_uid.clone()).await?; | ||||
|     debug!("returns: {:?}", meta); | ||||
|     Ok(HttpResponse::Ok().json(meta)) | ||||
| } | ||||
|  | ||||
| @@ -45,8 +48,10 @@ async fn create_index( | ||||
|     data: web::Data<Data>, | ||||
|     body: web::Json<IndexCreateRequest>, | ||||
| ) -> Result<HttpResponse, ResponseError> { | ||||
|     debug!("called with params: {:?}", body); | ||||
|     let body = body.into_inner(); | ||||
|     let meta = data.create_index(body.uid, body.primary_key).await?; | ||||
|     debug!("returns: {:?}", meta); | ||||
|     Ok(HttpResponse::Ok().json(meta)) | ||||
| } | ||||
|  | ||||
| @@ -73,10 +78,12 @@ async fn update_index( | ||||
|     path: web::Path<IndexParam>, | ||||
|     body: web::Json<UpdateIndexRequest>, | ||||
| ) -> Result<HttpResponse, ResponseError> { | ||||
|     debug!("called with params: {:?}", body); | ||||
|     let body = body.into_inner(); | ||||
|     let meta = data | ||||
|         .update_index(path.into_inner().index_uid, body.primary_key, body.uid) | ||||
|         .await?; | ||||
|     debug!("returns: {:?}", meta); | ||||
|     Ok(HttpResponse::Ok().json(meta)) | ||||
| } | ||||
|  | ||||
| @@ -108,6 +115,7 @@ async fn get_update_status( | ||||
|         .get_update_status(params.index_uid, params.update_id) | ||||
|         .await?; | ||||
|     let meta = UpdateStatusResponse::from(meta); | ||||
|     debug!("returns: {:?}", meta); | ||||
|     Ok(HttpResponse::Ok().json(meta)) | ||||
| } | ||||
|  | ||||
| @@ -122,5 +130,6 @@ async fn get_all_updates_status( | ||||
|         .map(UpdateStatusResponse::from) | ||||
|         .collect::<Vec<_>>(); | ||||
|  | ||||
|     debug!("returns: {:?}", metas); | ||||
|     Ok(HttpResponse::Ok().json(metas)) | ||||
| } | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| use std::collections::{BTreeSet, HashSet}; | ||||
|  | ||||
| use actix_web::{get, post, web, HttpResponse}; | ||||
| use log::debug; | ||||
| use serde::Deserialize; | ||||
| use serde_json::Value; | ||||
|  | ||||
| @@ -78,8 +79,10 @@ async fn search_with_url_query( | ||||
|     path: web::Path<IndexParam>, | ||||
|     params: web::Query<SearchQueryGet>, | ||||
| ) -> Result<HttpResponse, ResponseError> { | ||||
|     debug!("called with params: {:?}", params); | ||||
|     let query = params.into_inner().into(); | ||||
|     let search_result = data.search(path.into_inner().index_uid, query).await?; | ||||
|     debug!("returns: {:?}", search_result); | ||||
|     Ok(HttpResponse::Ok().json(search_result)) | ||||
| } | ||||
|  | ||||
| @@ -89,8 +92,10 @@ async fn search_with_post( | ||||
|     path: web::Path<IndexParam>, | ||||
|     params: web::Json<SearchQuery>, | ||||
| ) -> Result<HttpResponse, ResponseError> { | ||||
|     debug!("search called with params: {:?}", params); | ||||
|     let search_result = data | ||||
|         .search(path.into_inner().index_uid, params.into_inner()) | ||||
|         .await?; | ||||
|     debug!("returns: {:?}", search_result); | ||||
|     Ok(HttpResponse::Ok().json(search_result)) | ||||
| } | ||||
|   | ||||
| @@ -1,4 +1,5 @@ | ||||
| use actix_web::{delete, get, post, web, HttpResponse}; | ||||
| use log::debug; | ||||
|  | ||||
| use crate::helpers::Authentication; | ||||
| use crate::index::Settings; | ||||
| @@ -9,6 +10,7 @@ use crate::{error::ResponseError, index::Unchecked}; | ||||
| macro_rules! make_setting_route { | ||||
|     ($route:literal, $type:ty, $attr:ident, $camelcase_attr:literal) => { | ||||
|         mod $attr { | ||||
|             use log::debug; | ||||
|             use actix_web::{web, HttpResponse}; | ||||
|  | ||||
|             use crate::data; | ||||
| @@ -27,6 +29,7 @@ macro_rules! make_setting_route { | ||||
|                     ..Default::default() | ||||
|                 }; | ||||
|                 let update_status = data.update_settings(index_uid.into_inner(), settings, false).await?; | ||||
|                 debug!("returns: {:?}", update_status); | ||||
|                 Ok(HttpResponse::Accepted().json(serde_json::json!({ "updateId": update_status.id() }))) | ||||
|             } | ||||
|  | ||||
| @@ -42,6 +45,7 @@ macro_rules! make_setting_route { | ||||
|                 }; | ||||
|  | ||||
|                 let update_status = data.update_settings(index_uid.into_inner(), settings, true).await?; | ||||
|                 debug!("returns: {:?}", update_status); | ||||
|                 Ok(HttpResponse::Accepted().json(serde_json::json!({ "updateId": update_status.id() }))) | ||||
|             } | ||||
|  | ||||
| @@ -51,6 +55,7 @@ macro_rules! make_setting_route { | ||||
|                 index_uid: actix_web::web::Path<String>, | ||||
|             ) -> std::result::Result<HttpResponse, ResponseError> { | ||||
|                 let settings = data.settings(index_uid.into_inner()).await?; | ||||
|                 debug!("returns: {:?}", settings); | ||||
|                 let mut json = serde_json::json!(&settings); | ||||
|                 let val = json[$camelcase_attr].take(); | ||||
|                 Ok(HttpResponse::Ok().json(val)) | ||||
| @@ -145,6 +150,7 @@ async fn update_all( | ||||
|         .update_settings(index_uid.into_inner(), settings, true) | ||||
|         .await?; | ||||
|     let json = serde_json::json!({ "updateId": update_result.id() }); | ||||
|     debug!("returns: {:?}", json); | ||||
|     Ok(HttpResponse::Accepted().json(json)) | ||||
| } | ||||
|  | ||||
| @@ -154,6 +160,7 @@ async fn get_all( | ||||
|     index_uid: web::Path<String>, | ||||
| ) -> Result<HttpResponse, ResponseError> { | ||||
|     let settings = data.settings(index_uid.into_inner()).await?; | ||||
|     debug!("returns: {:?}", settings); | ||||
|     Ok(HttpResponse::Ok().json(settings)) | ||||
| } | ||||
|  | ||||
| @@ -167,5 +174,6 @@ async fn delete_all( | ||||
|         .update_settings(index_uid.into_inner(), settings, false) | ||||
|         .await?; | ||||
|     let json = serde_json::json!({ "updateId": update_result.id() }); | ||||
|     debug!("returns: {:?}", json); | ||||
|     Ok(HttpResponse::Accepted().json(json)) | ||||
| } | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| use actix_web::get; | ||||
| use actix_web::web; | ||||
| use actix_web::HttpResponse; | ||||
| use log::debug; | ||||
| use serde::Serialize; | ||||
|  | ||||
| use crate::error::ResponseError; | ||||
| @@ -21,6 +22,7 @@ async fn get_index_stats( | ||||
| ) -> Result<HttpResponse, ResponseError> { | ||||
|     let response = data.get_index_stats(path.index_uid.clone()).await?; | ||||
|  | ||||
|     debug!("returns: {:?}", response); | ||||
|     Ok(HttpResponse::Ok().json(response)) | ||||
| } | ||||
|  | ||||
| @@ -28,6 +30,7 @@ async fn get_index_stats( | ||||
| async fn get_stats(data: web::Data<Data>) -> Result<HttpResponse, ResponseError> { | ||||
|     let response = data.get_all_stats().await?; | ||||
|  | ||||
|     debug!("returns: {:?}", response); | ||||
|     Ok(HttpResponse::Ok().json(response)) | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user