refactor(metrics): simplify response building with unwrap_or_else

- Replace explicit match statement with unwrap_or_else for cleaner error handling
- Maintain same error logging behavior when response building fails
- Reduce code complexity and improve readability
- Keep identical fallback response creation on builder errors
This commit is contained in:
zhenyi
2026-06-12 15:10:00 +08:00
parent 44fe5a519b
commit 6f40921576
+3 -7
View File
@@ -575,18 +575,14 @@ fn json_response(status: u16, body: &str) -> Response<Full<Bytes>> {
} }
fn text_response(status: u16, content_type: &str, body: String) -> Response<Full<Bytes>> { fn text_response(status: u16, content_type: &str, body: String) -> Response<Full<Bytes>> {
match Response::builder() Response::builder()
.status(status) .status(status)
.header("Content-Type", content_type) .header("Content-Type", content_type)
.header("Connection", "close") .header("Connection", "close")
.body(Full::new(Bytes::from(body))) .body(Full::new(Bytes::from(body))).unwrap_or_else(|err| {
{
Ok(response) => response,
Err(err) => {
tracing::error!(error = %err, "failed to build text response"); tracing::error!(error = %err, "failed to build text response");
Response::new(Full::new(Bytes::from_static(b"response build failed"))) Response::new(Full::new(Bytes::from_static(b"response build failed")))
} })
}
} }
async fn handle_request(req: Request<Incoming>) -> Result<Response<Full<Bytes>>, Infallible> { async fn handle_request(req: Request<Incoming>) -> Result<Response<Full<Bytes>>, Infallible> {