]> Repositorios git - scryer-prolog.git/commitdiff
Use reqwest async and use futures::executor
authorAdrián Arroyo Calle <[email protected]>
Wed, 3 Jan 2024 21:43:22 +0000 (22:43 +0100)
committerAdrián Arroyo Calle <[email protected]>
Wed, 3 Jan 2024 21:43:22 +0000 (22:43 +0100)
Cargo.toml
src/machine/system_calls.rs

index f6a9502d06a3d96900c6c4d8407b2529ddfc0a34..3e06970e00b2da86a58a3446834aa209a434b6ab 100644 (file)
@@ -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]
index 075e882caa6ad9a0356707266b1578a8131665bb..dbcbacd06366d15fdeabc56d39a2f94642a3eb59 100644 (file)
@@ -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),