From b0be5ff8adbff5c1a2708fdb293d3f19079a455b Mon Sep 17 00:00:00 2001 From: LiHui Date: Fri, 11 Mar 2022 17:24:29 +0800 Subject: [PATCH] API: fix http hang for vmm.ping/vm.create/vm.info/vmm.shutdown vmm.ping/vm.info will hang for PUT method, vm.create/vmm.shutdonw hang for GET method. Because these four APIs do not write the response body when the HTTP method does not match. Signed-off-by: LiHui --- vmm/src/api/http_endpoint.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/vmm/src/api/http_endpoint.rs b/vmm/src/api/http_endpoint.rs index 3515e51d0..67861a718 100644 --- a/vmm/src/api/http_endpoint.rs +++ b/vmm/src/api/http_endpoint.rs @@ -54,7 +54,7 @@ impl EndpointHandler for VmCreate { } } - _ => Response::new(Version::Http11, StatusCode::BadRequest), + _ => error_response(HttpError::BadRequest, StatusCode::BadRequest), } } } @@ -237,7 +237,7 @@ impl EndpointHandler for VmInfo { } Err(e) => error_response(e, StatusCode::InternalServerError), }, - _ => Response::new(Version::Http11, StatusCode::BadRequest), + _ => error_response(HttpError::BadRequest, StatusCode::BadRequest), } } } @@ -263,7 +263,8 @@ impl EndpointHandler for VmmPing { } Err(e) => error_response(e, StatusCode::InternalServerError), }, - _ => Response::new(Version::Http11, StatusCode::BadRequest), + + _ => error_response(HttpError::BadRequest, StatusCode::BadRequest), } } } @@ -285,7 +286,7 @@ impl EndpointHandler for VmmShutdown { Err(e) => error_response(e, StatusCode::InternalServerError), } } - _ => Response::new(Version::Http11, StatusCode::BadRequest), + _ => error_response(HttpError::BadRequest, StatusCode::BadRequest), } } }