MCPcopy Create free account
hub / github.com/aws/aws-lambda-rust-runtime / get_thumbnail

Function get_thumbnail

examples/basic-s3-thumbnail/src/main.rs:87–107  ·  view source on GitHub ↗
(vec: Vec<u8>, size: u32)

Source from the content-addressed store, hash-verified

85
86#[cfg(not(test))]
87fn get_thumbnail(vec: Vec<u8>, size: u32) -> Result<Vec<u8>, String> {
88 use std::io::Cursor;
89
90 use thumbnailer::{create_thumbnails, ThumbnailSize};
91
92 let reader = Cursor::new(vec);
93 let mime = mime::IMAGE_PNG;
94 let sizes = [ThumbnailSize::Custom((size, size))];
95
96 let thumbnail = match create_thumbnails(reader, mime, sizes) {
97 Ok(mut thumbnails) => thumbnails.pop().ok_or("No thumbnail created")?,
98 Err(thumb_error) => return Err(thumb_error.to_string()),
99 };
100
101 let mut buf = Cursor::new(Vec::new());
102
103 match thumbnail.write_png(&mut buf) {
104 Ok(_) => Ok(buf.into_inner()),
105 Err(_) => Err("Unknown error when Thumbnail::write_png".to_string()),
106 }
107}
108
109#[tokio::main]
110async fn main() -> Result<(), Error> {

Callers 1

function_handlerFunction · 0.70

Calls 1

into_innerMethod · 0.80

Tested by

no test coverage detected