(
request: &Request,
api_notifier: &EventFd,
api_sender: &Sender<ApiRequest>,
)
| 301 | }); |
| 302 | |
| 303 | fn handle_http_request( |
| 304 | request: &Request, |
| 305 | api_notifier: &EventFd, |
| 306 | api_sender: &Sender<ApiRequest>, |
| 307 | ) -> Response { |
| 308 | let path = request.uri().get_abs_path().to_string(); |
| 309 | let mut response = match HTTP_ROUTES.routes.get(&path) { |
| 310 | Some(route) => match api_notifier.try_clone() { |
| 311 | Ok(notifier) => route.handle_request(request, notifier, api_sender.clone()), |
| 312 | Err(_) => error_response( |
| 313 | HttpError::InternalServerError, |
| 314 | StatusCode::InternalServerError, |
| 315 | ), |
| 316 | }, |
| 317 | None => error_response(HttpError::NotFound, StatusCode::NotFound), |
| 318 | }; |
| 319 | |
| 320 | response.set_server("Cloud Hypervisor API"); |
| 321 | response.set_content_type(MediaType::ApplicationJson); |
| 322 | response |
| 323 | } |
| 324 | |
| 325 | fn start_http_thread( |
| 326 | mut server: HttpServer, |
no test coverage detected