aws_lambda_events/encodings/
mod.rs1use serde::{Deserialize, Serialize};
2use std::ops::{Deref, DerefMut};
3
4#[cfg(feature = "chrono")]
5mod time;
6use crate::custom_serde::{deserialize_base64, serialize_base64};
7
8#[cfg(feature = "chrono")]
9#[cfg_attr(docsrs, doc(cfg(feature = "chrono")))]
10pub use self::time::*;
11#[cfg(feature = "http")]
12mod http;
13#[cfg(feature = "http")]
14#[cfg_attr(docsrs, doc(cfg(feature = "http")))]
15pub use self::http::*;
16
17pub type Error = Box<dyn std::error::Error + Send + Sync>;
18
19#[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq, Serialize)]
21pub struct Base64Data(
22 #[serde(deserialize_with = "deserialize_base64")]
23 #[serde(serialize_with = "serialize_base64")]
24 pub Vec<u8>,
25);
26
27impl Deref for Base64Data {
28 type Target = Vec<u8>;
29
30 fn deref(&self) -> &Self::Target {
31 &self.0
32 }
33}
34
35impl DerefMut for Base64Data {
36 fn deref_mut(&mut self) -> &mut Self::Target {
37 &mut self.0
38 }
39}