Откуда переменная, переданная в Resq::read_to_string от Reqwest, получает данные?
Я изучаю Rust и играю с этим примером, чтобы выполнить запрос HTTP GET и затем отобразить данные:
extern crate reqwest;
use std::io::Read;
fn run() -> Result<()> {
let mut res = reqwest::get("http://httpbin.org/get")?;
let mut body = String::new();
res.read_to_string(&mut body)?;
println!("Status: {}", res.status());
println!("Headers:\n{:#?}", res.headers());
println!("Body:\n{}", body);
Ok(())
}
Я не могу понять, как переменная body
на самом деле в конечном итоге с правильными данными. Для заголовков и статуса я вижу связанные функции, но для данных тела он просто использует read_to_string
для всех данных?
1 ответ
Решение
res
объект имеет read_to_string()
метод, который сохраняет ответ в String
что вы передаете это в
res.read_to_string(&mut body);
Редактировать: импортировано из моего комментария:
Документация reqwest::Response 0.6.2 для Read
за Response
:
Прочитайте текст ответа
чего-то не хватает в документации текущей версии.