Как создать поток для actix-web HttpResponse для отправки чанка файла по чанку? - PullRequest
1 голос
/ 15 января 2020

Я хочу передать зашифрованный файл с помощью 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. Как создать поток, в который я могу добавить чанк за чанк?

...