Я хочу передать зашифрованный файл с помощью actix-web в Rust. У меня есть al oop, который расшифровывает фрагмент зашифрованного файла фрагментом, используя оксид натрия. Я хочу отправить куски клиенту.
Мой l oop выглядит следующим образом:
while stream.is_not_finalized() {
match in_file.read(&mut buffer) {
Ok(num_read) if num_read > 0 => {
let (decrypted, _tag) = stream
.pull(&buffer[..num_read], None)
.map_err(|_| error::ErrorInternalServerError("Incorrect password"))
.unwrap();
// here I want to send decrypted to HttpResponse
continue;
}
Err(e) => error::ErrorInternalServerError(e),
_ => error::ErrorInternalServerError("Decryption error"), // reached EOF
};
}
Я нашел метод streaming
, для которого в качестве параметра требуется Stream
. Как создать поток, в который я могу добавить чанк за чанк?