Skip to content

Commit 3a43ed9

Browse files
authored
fix: add support for null/invalid type for multi-value-headers (#387)
1 parent 6ca9f5e commit 3a43ed9

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

lambda-http/src/request.rs

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ where
317317
}
318318
}
319319

320-
deserializer.deserialize_map(HeaderVisitor)
320+
Ok(deserializer.deserialize_map(HeaderVisitor).unwrap_or_default())
321321
}
322322

323323
/// Deserialize a map of Cow<'_, str> => Cow<'_, str> into an http::HeaderMap
@@ -868,4 +868,20 @@ mod tests {
868868
}
869869
)
870870
}
871+
872+
#[test]
873+
fn deserialize_null_multi_value_headers() {
874+
#[derive(Debug, PartialEq, Deserialize)]
875+
struct Test {
876+
#[serde(deserialize_with = "deserialize_multi_value_headers")]
877+
multi_value_headers: http::HeaderMap,
878+
}
879+
880+
assert_eq!(
881+
serde_json::from_str::<Test>(r#"{"multi_value_headers":null}"#).expect("failed to deserialize"),
882+
Test {
883+
multi_value_headers: http::HeaderMap::new()
884+
}
885+
)
886+
}
871887
}

0 commit comments

Comments
 (0)