c2pa-rs

A fork of https://github.com/contentauth/c2pa-rs/
git clone git://archive.git.mtrnord.blog/mtrnords-photography-manager/c2pa-rs.git
Log | Files | Refs | README

commit bd62316e4fdd781331e0264b3cf11d62b44b452a
parent 81795edb66fa13510d9d008927381a5b88d1bde6
Author: Dave Kozma <dkozma@adobe.com>
Date:   Wed, 15 Jun 2022 15:30:13 -0400

(MINOR) Update from_bytes(_async) to return a Result (#43)

`from_bytes`/`from_bytes_async` previously returned an `Option`, swallowing the error. This changes this over to use a `Result` instead of an `Option`.
Diffstat:
Msdk/src/manifest_store.rs | 18+++++++-----------
1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/sdk/src/manifest_store.rs b/sdk/src/manifest_store.rs @@ -115,13 +115,11 @@ impl ManifestStore { } /// generate a Store from a format string and bytes - pub fn from_bytes(format: &str, image_bytes: Vec<u8>, verify: bool) -> Option<ManifestStore> { + pub fn from_bytes(format: &str, image_bytes: Vec<u8>, verify: bool) -> Result<ManifestStore> { let mut validation_log = DetailedStatusTracker::new(); - match Store::load_from_memory(format, &image_bytes, verify, &mut validation_log) { - Ok(store) => Some(Self::from_store(&store, &mut validation_log)), - Err(_err) => None, - } + Store::load_from_memory(format, &image_bytes, verify, &mut validation_log) + .map(|store| Self::from_store(&store, &mut validation_log)) } #[cfg(feature = "file_io")] @@ -149,14 +147,12 @@ impl ManifestStore { format: &str, image_bytes: Vec<u8>, verify: bool, - ) -> Option<ManifestStore> { + ) -> Result<ManifestStore> { let mut validation_log = DetailedStatusTracker::new(); - match Store::load_from_memory_async(format, &image_bytes, verify, &mut validation_log).await - { - Ok(store) => Some(Self::from_store(&store, &mut validation_log)), - Err(_err) => None, - } + Store::load_from_memory_async(format, &image_bytes, verify, &mut validation_log) + .await + .map(|store| Self::from_store(&store, &mut validation_log)) } }