diff --git a/bottlecap/src/lifecycle/listener.rs b/bottlecap/src/lifecycle/listener.rs index f6b32fb68..060e2ecfe 100644 --- a/bottlecap/src/lifecycle/listener.rs +++ b/bottlecap/src/lifecycle/listener.rs @@ -164,16 +164,16 @@ impl Listener { State((invocation_processor_handle, _, tasks)): State, request: Request, ) -> Response { + let (parts, body) = match extract_request_body(request).await { + Ok(r) => r, + Err(e) => { + error!("Failed to extract request body: {e}"); + return (StatusCode::OK, json!({}).to_string()).into_response(); + } + }; + let mut join_set = tasks.lock().await; join_set.spawn(async move { - let (parts, body) = match extract_request_body(request).await { - Ok(r) => r, - Err(e) => { - error!("Failed to extract request body: {e}"); - return; - } - }; - Self::universal_instrumentation_end(&parts.headers, body, invocation_processor_handle) .await; });