在超响应中发送特定字节数的最佳方式是什么



我希望在我正在制作的超级服务器中发送特定数量的字节(例如1GB(作为非分块响应。我是Rust的新手,我想我可以使用相当于字节片的Rust,但这一直不起作用。想知道什么是实现这一目标的最佳方式。

let mut bytes = BytesMut::with_capacity(64).freeze();
Ok(Response::new(Body::from(bytes)))

这将返回一个内容长度为0的响应,但我希望它返回64个字节。

BytesMut::with_capacity不会用任何东西填充缓冲区。它只预先分配了一个64字节的缓冲区,但长度为零。文档指出了这一点,同时还有一个代码示例,该示例显示缓冲区仍然是空的,除非你向它推送一些东西

如果您想发送64个字节,而不在乎它们是什么,请尝试零填充的Vec:

Ok(Response::new(Body::from(vec![0; 64])))

最新更新