Rust 如何将reqwest流转换为actix流?
我正在尝试将reqwest的流转换为actix响应的流,以避免在内存中创建大型Rust 如何将reqwest流转换为actix流?,rust,rust-tokio,Rust,Rust Tokio,我正在尝试将reqwest的流转换为actix响应的流,以避免在内存中创建大型Vec: use actix_web::{web, HttpRequest, HttpResponse, Responder}; pub async fn test( req: HttpRequest ) -> impl Responder { let request = reqwest::get("https://www.rust-lang.org").await; if reques
Vec
:
use actix_web::{web, HttpRequest, HttpResponse, Responder};
pub async fn test(
req: HttpRequest
) -> impl Responder {
let request = reqwest::get("https://www.rust-lang.org").await;
if request.is_err() {
println!("Error: {:?}", request.err());
}
let request = request.unwrap();
let stream = request.bytes_stream();
HttpResponse::Ok()
.content_type("text/html")
.streaming(stream)
}
编译器给了我:
-->src/routes/test.rs:97:10
|
97 |流媒体(流媒体)
|^^^^^^^^^^未为'reqwest::error::error'实现特性'actix_http::error::ResponseError'`
|
=注意:由于'std::convert::From'的impl上对'actix_http::error::error'的要求,因此必需`
=注意:由于'std::convert::Into'for`reqwest::error::error的impl上的要求,因此需要`
我已经尽了我所能,但没有运气:
- 创建直通
(甚至不编译,我不擅长转换类型)流
- 为Reqwest错误实现缺少的错误(该错误不是公开的,所以我不能这样做)
- 无论如何尝试(但不确定是否正确使用)
很难回答您的问题,因为其中没有一个答案。我们无法说出代码中存在哪些板条箱(及其版本)、类型、特征、字段等。如果您试图重现您的错误(如果可能的话),或者在全新的货运项目中,那么我们将更容易帮助您,然后您的问题将包括附加信息。您可以使用以下方法减少在此处发布的原始代码。谢谢您的问题可能会由的答案来回答。如果没有,请回答您的问题以解释差异。否则,我们可以将此问题标记为已回答。将查看两个答案,谢谢:)