src/client/http_client.rs: directly return H2Client on upgrade

This commit is contained in:
Dietmar Maurer 2019-05-13 16:44:59 +02:00
parent 10130cf48c
commit 850ac6d0f0
2 changed files with 5 additions and 4 deletions

View File

@ -15,9 +15,8 @@ fn run() -> Result<(), Error> {
let param = json!({"backup-type": "host", "backup-id": "test" });
let upgrade = client.h2upgrade("/api2/json/admin/datastore/store2/backup", Some(param));
let res = upgrade.and_then(|send_request| {
let res = upgrade.and_then(|h2| {
println!("start http2");
let h2 = H2Client::new(send_request);
let result1 = h2.get("test1", None);
let result2 = h2.get("test2", None);

View File

@ -242,7 +242,7 @@ impl HttpClient {
pub fn h2upgrade(
&mut self, path:
&str, param: Option<Value>
) -> impl Future<Item=h2::client::SendRequest<bytes::Bytes>, Error=Error> {
) -> impl Future<Item=H2Client, Error=Error> {
let mut req = Self::request_builder(&self.server, "GET", path, param).unwrap();
@ -279,7 +279,9 @@ impl HttpClient {
hyper::rt::spawn(connection);
// Wait until the `SendRequest` handle has available capacity.
h2.ready().map_err(Error::from)
h2.ready()
.map(H2Client::new)
.map_err(Error::from)
})
})
}