pict-rs/src/validate/exiftool.rs
asonix fee4ed1e3e
All checks were successful
continuous-integration/drone/push Build is passing
Add process timeout
2023-08-05 12:41:06 -05:00

15 lines
407 B
Rust

use actix_web::web::Bytes;
use tokio::io::AsyncRead;
use crate::{exiftool::ExifError, process::Process};
#[tracing::instrument(level = "trace", skip(input))]
pub(crate) fn clear_metadata_bytes_read(
input: Bytes,
timeout: u64,
) -> Result<impl AsyncRead + Unpin, ExifError> {
let process = Process::run("exiftool", &["-all=", "-", "-out", "-"], timeout)?;
Ok(process.bytes_read(input))
}