@@ -29,14 +29,14 @@ pub enum LambdaRequest<'a> {
29
29
route_key : Cow < ' a , str > ,
30
30
raw_path : Cow < ' a , str > ,
31
31
raw_query_string : Cow < ' a , str > ,
32
- cookies : Vec < Cow < ' a , str > > ,
32
+ cookies : Option < Vec < Cow < ' a , str > > > ,
33
33
#[ serde( deserialize_with = "deserialize_headers" ) ]
34
34
headers : http:: HeaderMap ,
35
- #[ serde( deserialize_with = "nullable_default" ) ]
35
+ #[ serde( default ) ]
36
36
query_string_parameters : StrMap ,
37
- #[ serde( default , deserialize_with = "nullable_default" ) ]
37
+ #[ serde( default ) ]
38
38
path_parameters : StrMap ,
39
- #[ serde( default , deserialize_with = "nullable_default" ) ]
39
+ #[ serde( default ) ]
40
40
stage_variables : StrMap ,
41
41
body : Option < Cow < ' a , str > > ,
42
42
#[ serde( default ) ]
@@ -546,6 +546,21 @@ mod tests {
546
546
assert ! ( result. is_ok( ) , format!( "event was not parsed as expected {:?}" , result) ) ;
547
547
}
548
548
549
+ #[ test]
550
+ fn deserializes_minimal_apigw_v2_request_events ( ) {
551
+ // from the docs
552
+ // https://docs.aws.amazon.com/lambda/latest/dg/eventsources.html#eventsources-api-gateway-request
553
+ let input = include_str ! ( "../tests/data/apigw_v2_proxy_request_minimal.json" ) ;
554
+ let result = from_str ( input) ;
555
+ assert ! (
556
+ result. is_ok( ) ,
557
+ format!( "event was not parsed as expected {:?} given {}" , result, input)
558
+ ) ;
559
+ let req = result. expect ( "failed to parse request" ) ;
560
+ assert_eq ! ( req. method( ) , "GET" ) ;
561
+ assert_eq ! ( req. uri( ) , "https://xxx.execute-api.us-east-1.amazonaws.com/" ) ;
562
+ }
563
+
549
564
#[ test]
550
565
fn deserializes_apigw_v2_request_events ( ) {
551
566
// from the docs
0 commit comments