Skip to content

Commit 1a7c696

Browse files
authored
feat: derive Deserialize, Clone, PartialEq, Eq for MetadataPrelude (#956)
1 parent 2862581 commit 1a7c696

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

lambda-runtime/src/types.rs

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ impl<T> LambdaEvent<T> {
176176
}
177177

178178
/// Metadata prelude for a stream response.
179-
#[derive(Debug, Default, Serialize)]
179+
#[derive(Debug, Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
180180
#[serde(rename_all = "camelCase")]
181181
pub struct MetadataPrelude {
182182
#[serde(with = "http_serde::status_code")]
@@ -478,4 +478,22 @@ mod test {
478478

479479
let _ = invoke_request_id(&headers);
480480
}
481+
482+
#[test]
483+
fn serde_metadata_prelude() {
484+
let metadata_prelude = MetadataPrelude {
485+
status_code: StatusCode::OK,
486+
headers: {
487+
let mut headers = HeaderMap::new();
488+
headers.insert("key", "val".parse().unwrap());
489+
headers
490+
},
491+
cookies: vec!["cookie".to_string()],
492+
};
493+
494+
let serialized = serde_json::to_string(&metadata_prelude).unwrap();
495+
let deserialized: MetadataPrelude = serde_json::from_str(&serialized).unwrap();
496+
497+
assert_eq!(metadata_prelude, deserialized);
498+
}
481499
}

0 commit comments

Comments
 (0)