Size: a a a

Rust — русскоговорящее сообществo

2020 April 19

T

Tema in Rust — русскоговорящее сообществo
может hyper старый ?
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Tema
может hyper старый ?
Да. Нужен 0.13
источник

T

Tema in Rust — русскоговорящее сообществo
спасибо, помогло.
Теперь другое ругается

no method named `map` found for struct `hyper::client::ResponseFuture` in the current scope


код вот

let request_result = core.run(client
 .request(req)
 .map(|res| {
   println!("Response: {}", res.status());
 })
 .map_err(|err| {
   println!("Error: {}", err);
})
);
источник

T

Tema in Rust — русскоговорящее сообществo
до использования hyper-tls не ругался на том же коде (на обычном HTTP запросе)
источник

Э

Эрик in Rust — русскоговорящее сообществo
Может быть переименовали map(). Если знаешь как оно работает, поищи что-то похожее у структуры.
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Tema
спасибо, помогло.
Теперь другое ругается

no method named `map` found for struct `hyper::client::ResponseFuture` in the current scope


код вот

let request_result = core.run(client
 .request(req)
 .map(|res| {
   println!("Response: {}", res.status());
 })
 .map_err(|err| {
   println!("Error: {}", err);
})
);
Наверное futures::future::FutureExt
источник

T

Tema in Rust — русскоговорящее сообществo
Mikail Bagishov
Наверное futures::future::FutureExt
я правильно понимаю, что ошибка в том, что этот метод есть, но он описан у дочерней структуры которую я не добавил?
источник

T

Tema in Rust — русскоговорящее сообществo
потому что вот

    = note: the method `map` exists but the following trait bounds were not satisfied:
           `&mut hyper::client::ResponseFuture : futures::future::Future`
           `&mut hyper::client::ResponseFuture : std::iter::Iterator`
   = help: items from traits can only be used if the trait is in scope
   = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
           `use futures_util::future::future::FutureExt;`
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Скорее всего, этот  метод теперь лежит в каком-то extension-трейте типа FutureExt
источник

В

Вафель in Rust — русскоговорящее сообществo
Tema
Ребята, помогите пожалуйста

Пытаюсь сделать HTTPS запрос через hyper+hyper-tls как в документации, но получаю ошибки

 let client = Client::builder().build::<_, hyper::Body>(https);
   |                                                            ^^^^^ the trait `hyper::client::connect::Connect` is not implemented for `hyper_tls::client::HttpsConnector<hyper::client::connect::http::HttpConnector>`


248 |         .request(req)
   |          ^^^^^^^ method not found in `hyper::client::Client<hyper_tls::client::HttpsConnector<hyper::client::connect::http::HttpConnector>>`
Извини за нескромный вопрос, но почему не reqwest?
источник

T

Tema in Rust — русскоговорящее сообществo
Вафель
Извини за нескромный вопрос, но почему не reqwest?
он лучше? Я не пробовал
источник

В

Вафель in Rust — русскоговорящее сообществo
Tema
он лучше? Я не пробовал
Он проще и более высокоуровневый. Построен поверх hyper
источник

T

Tema in Rust — русскоговорящее сообществo
Вафель
Он проще и более высокоуровневый. Построен поверх hyper
а, вспомнил. Я его пробовал, но через async/await у меня не работало (я юзаю actix и там ошибка блокировки была)
источник

В

Вафель in Rust — русскоговорящее сообществo
Tema
а, вспомнил. Я его пробовал, но через async/await у меня не работало (я юзаю actix и там ошибка блокировки была)
Странно. Может ты случайно воспользовался синхронной версией?
источник

T

Tema in Rust — русскоговорящее сообществo
blocking ? я и так и так пробовал. Возможно дело в том что я не юзал core.run до этого
источник

e🦀

eupn 🦀 in Rust — русскоговорящее сообществo
Последние версии реквеста асинхронные
источник

e🦀

eupn 🦀 in Rust — русскоговорящее сообществo
Отдают фьючу, которую нужно .await-ить
источник

T

Tema in Rust — русскоговорящее сообществo
попробую щас
источник

e🦀

eupn 🦀 in Rust — русскоговорящее сообществo
Еще есть https://github.com/sagebind/isahc на базе curl-sys, простой и удобный крейт, async/.await тоже поддерживается
источник

В

Вафель in Rust — русскоговорящее сообществo
eupn 🦀
Отдают фьючу, которую нужно .await-ить
+, сам юзаю reqwest много где. Правда без actix
источник