diff --git a/src/handlers/http/query.rs b/src/handlers/http/query.rs index 7d9c33a45..fce7164c2 100644 --- a/src/handlers/http/query.rs +++ b/src/handlers/http/query.rs @@ -44,7 +44,7 @@ use crate::query::error::ExecuteError; use crate::query::{execute, CountsRequest, CountsResponse, Query as LogicalQuery}; use crate::query::{TableScanVisitor, QUERY_SESSION}; use crate::rbac::Users; -use crate::response::QueryResponse; +use crate::response::{QueryResponse, TIME_ELAPSED_HEADER}; use crate::storage::object_storage::commit_schema_to_storage; use crate::storage::ObjectStorageError; use crate::utils::actix::extract_session_key_from_req; @@ -122,22 +122,26 @@ pub async fn query(req: HttpRequest, query_request: Query) -> Result, pub fields: Vec, pub fill_null: bool, pub with_fields: bool, + pub total_time: String, } impl QueryResponse { @@ -49,12 +52,14 @@ impl QueryResponse { let response = if self.with_fields { json!({ "fields": self.fields, - "records": values + "records": values, }) } else { Value::Array(values) }; - Ok(HttpResponse::Ok().json(response)) + Ok(HttpResponse::Ok() + .insert_header((TIME_ELAPSED_HEADER, self.total_time.as_str())) + .json(response)) } }