From: Adrián Arroyo Calle Date: Wed, 3 Jan 2024 21:43:22 +0000 (+0100) Subject: Use reqwest async and use futures::executor X-Git-Tag: v0.9.4~45^2 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=fac8866fb410d2cbdfa031d720e1b52cfac58017;p=scryer-prolog.git Use reqwest async and use futures::executor --- diff --git a/Cargo.toml b/Cargo.toml index f6a9502d..3e06970e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -81,7 +81,7 @@ ctrlc = { version = "3.2.2", optional = true } rustyline = { version = "12.0.0", optional = true } native-tls = { version = "0.2.4", optional = true } warp = { version = "=0.3.5", features = ["tls"], optional = true } -reqwest = { version = "0.11.18", features = ["blocking"], optional = true } +reqwest = { version = "0.11.18", optional = true } tokio = { version = "1.28.2", features = ["full"] } [target.'cfg(target_arch = "wasm32")'.dependencies] diff --git a/src/machine/system_calls.rs b/src/machine/system_calls.rs index 075e882c..dbcbacd0 100644 --- a/src/machine/system_calls.rs +++ b/src/machine/system_calls.rs @@ -4288,18 +4288,18 @@ impl Machine { let address_string = address_sink.as_str(); //to_string(); let address: Url = address_string.parse().unwrap(); - let client = reqwest::blocking::Client::builder().build().unwrap(); + let client = reqwest::Client::builder().build().unwrap(); // request - let mut req = reqwest::blocking::Request::new(method, address); + let mut req = reqwest::Request::new(method, address); *req.headers_mut() = headers; if !bytes.is_empty() { - *req.body_mut() = Some(reqwest::blocking::Body::from(bytes)); + *req.body_mut() = Some(reqwest::Body::from(bytes)); } // do it! - match client.execute(req) { + match futures::executor::block_on(client.execute(req)) { Ok(resp) => { // status code let status = resp.status().as_u16(); @@ -4336,7 +4336,7 @@ impl Machine { self.machine_st.registers[6] ); // body - let reader = resp.bytes().unwrap().reader(); + let reader = futures::executor::block_on(resp.bytes()).unwrap().reader(); let mut stream = Stream::from_http_stream( AtomTable::build_with(&self.machine_st.atom_tbl, &address_string),