diff options
Diffstat (limited to 'test_util/src/servers/registry.rs')
| -rw-r--r-- | test_util/src/servers/registry.rs | 47 |
1 files changed, 25 insertions, 22 deletions
diff --git a/test_util/src/servers/registry.rs b/test_util/src/servers/registry.rs index 56a9e31b0..8f6fd32aa 100644 --- a/test_util/src/servers/registry.rs +++ b/test_util/src/servers/registry.rs @@ -1,37 +1,38 @@ // Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -use hyper::server::Server; -use hyper::service::make_service_fn; -use hyper::service::service_fn; -use hyper::Body; -use hyper::Request; -use hyper::Response; -use hyper::StatusCode; +use super::run_hyper1_server; +use bytes::Bytes; +use http_body_util::combinators::UnsyncBoxBody; +use http_body_util::Empty; +use http_body_util::Full; +use hyper1::body::Incoming; +use hyper1::Request; +use hyper1::Response; +use hyper1::StatusCode; use serde_json::json; use std::convert::Infallible; use std::net::SocketAddr; pub async fn registry_server(port: u16) { let registry_server_addr = SocketAddr::from(([127, 0, 0, 1], port)); - let registry_server_svc = make_service_fn(|_| async { - Ok::<_, Infallible>(service_fn(registry_server_handler)) - }); - let registry_server = - Server::bind(®istry_server_addr).serve(registry_server_svc); - if let Err(e) = registry_server.await { - eprintln!("Registry server error: {:?}", e); - } + + run_hyper1_server( + registry_server_addr, + registry_server_handler, + "Registry server error", + ) + .await } async fn registry_server_handler( - req: Request<Body>, -) -> Result<Response<Body>, hyper::http::Error> { + req: Request<Incoming>, +) -> Result<Response<UnsyncBoxBody<Bytes, Infallible>>, anyhow::Error> { let path = req.uri().path(); // TODO(bartlomieju): add a proper router here if path.starts_with("/api/scope/") { let body = serde_json::to_string_pretty(&json!({})).unwrap(); - let res = Response::new(Body::from(body)); + let res = Response::new(UnsyncBoxBody::new(Full::from(body))); return Ok(res); } else if path.starts_with("/api/scopes/") { let body = serde_json::to_string_pretty(&json!({ @@ -40,7 +41,7 @@ async fn registry_server_handler( "error": null })) .unwrap(); - let res = Response::new(Body::from(body)); + let res = Response::new(UnsyncBoxBody::new(Full::from(body))); return Ok(res); } else if path.starts_with("/api/publish_status/") { let body = serde_json::to_string_pretty(&json!({ @@ -49,11 +50,13 @@ async fn registry_server_handler( "error": null })) .unwrap(); - let res = Response::new(Body::from(body)); + let res = Response::new(UnsyncBoxBody::new(Full::from(body))); return Ok(res); } - Response::builder() + let empty_body = UnsyncBoxBody::new(Empty::new()); + let res = Response::builder() .status(StatusCode::NOT_FOUND) - .body(Body::empty()) + .body(empty_body)?; + Ok(res) } |
