From d7c2d29bcf3f16a6723f8808f12f978acfdf4d12 Mon Sep 17 00:00:00 2001 From: Ivan Efremov Date: Tue, 18 Mar 2025 13:04:07 +0200 Subject: [PATCH] fix(proxy): Fix testodrome HTTP header handling in proxy Relates to the #22486 --- proxy/src/serverless/mod.rs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/proxy/src/serverless/mod.rs b/proxy/src/serverless/mod.rs index 00164d631afc..9c11f3208353 100644 --- a/proxy/src/serverless/mod.rs +++ b/proxy/src/serverless/mod.rs @@ -437,9 +437,11 @@ async fn request_handler( let testodrome_id = request .headers() .get("X-Neon-Query-ID") - .map(|value| value.to_str().unwrap_or_default().to_string()); + .and_then(|value| value.to_str().ok()) + .map(|s| s.to_string()); if let Some(query_id) = testodrome_id { + info!(parent: &ctx.span(), "testodrome query ID: {query_id}"); ctx.set_testodrome_id(query_id); } @@ -481,6 +483,17 @@ async fn request_handler( ); let span = ctx.span(); + let testodrome_id = request + .headers() + .get("X-Neon-Query-ID") + .and_then(|value| value.to_str().ok()) + .map(|s| s.to_string()); + + if let Some(query_id) = testodrome_id { + info!(parent: &ctx.span(), "testodrome query ID: {query_id}"); + ctx.set_testodrome_id(query_id); + } + sql_over_http::handle(config, ctx, request, backend, http_cancellation_token) .instrument(span) .await