#ntex #stream #reqwest #adaptor

clia-reqwest-ntex-stream

连接 Reqwest 和 ntex 两个系统的流

1 个稳定版本

1.0.1 2022 年 3 月 24 日
1.0.0 2022 年 3 月 22 日

#18 in #ntex

BSD-2-Clause

9KB
73 代码行数(不含注释)

clia-reqwest-ntex-stream

连接 Reqwest 和 ntex 两个系统的流。

PayloadStream 示例

async fn handle(
    body: ntex::web::types::Payload,
) {
    let mut builder = client.get(url);
    // This stream is not for send between threads, otherwise it's unsafe.
    builder = builder.body(reqwest::Body::wrap_stream(reqwest_ntex_stream::PayloadStream {
        payload: body,
    }));
    builder.send().await;
}

ResponseStream 示例

let res = builder.send().await;
let stream = res.bytes_stream();
let mut resp = HttpResponse::build(res.status());
// This method will use chunked Transfer-Encoding, otherwise use ntex::http::body::SizedStream
return Ok(resp.streaming(reqwest_ntex_stream::ResponseStream{ stream: stream }));

依赖

~17–32MB
~596K SLoC