use crate::types::preprocess_callback::PreprocessError;
use crate::types::preprocess_callback::{PreprocessCallback, UploadMetadata};
use anyhow::Result;
use async_trait::async_trait;
use aws_sdk_s3::operation::get_object::GetObjectOutput;
pub struct UserDefinedPreprocessCallback {
pub enable: bool,
}
impl UserDefinedPreprocessCallback {
#[allow(clippy::new_without_default)]
pub fn new() -> Self {
Self { enable: false }
}
pub fn is_enabled(&self) -> bool {
self.enable
}
}
#[async_trait]
#[cfg_attr(coverage_nightly, coverage(off))]
impl PreprocessCallback for UserDefinedPreprocessCallback {
#[cfg_attr(coverage_nightly, coverage(off))]
async fn preprocess_before_upload(
&mut self,
_key: &str, _source_object: &GetObjectOutput, _metadata: &mut UploadMetadata, ) -> Result<()> {
Err(anyhow::Error::from(PreprocessError::Cancelled))
}
}