File tree Expand file tree Collapse file tree 2 files changed +16
-2
lines changed Expand file tree Collapse file tree 2 files changed +16
-2
lines changed Original file line number Diff line number Diff line change @@ -311,15 +311,22 @@ impl<'a> From<LambdaRequest<'a>> for http::Request<Body> {
311
311
LambdaRequest :: ApiGatewayV2 {
312
312
raw_path,
313
313
raw_query_string,
314
- headers,
314
+ mut headers,
315
315
query_string_parameters,
316
316
path_parameters,
317
317
stage_variables,
318
318
body,
319
319
is_base64_encoded,
320
320
request_context,
321
+ cookies,
321
322
..
322
323
} => {
324
+ if let Some ( cookies) = cookies {
325
+ if let Ok ( header_value) = http:: header:: HeaderValue :: from_str ( & cookies. join ( ";" ) ) {
326
+ headers. append ( http:: header:: COOKIE , header_value) ;
327
+ }
328
+ }
329
+
323
330
let builder = http:: Request :: builder ( )
324
331
. method ( request_context. http . method . as_ref ( ) )
325
332
. uri ( {
@@ -569,8 +576,15 @@ mod tests {
569
576
format!( "event was not parsed as expected {:?} given {}" , result, input)
570
577
) ;
571
578
let req = result. expect ( "failed to parse request" ) ;
579
+ let cookie_header = req
580
+ . headers ( )
581
+ . get ( http:: header:: COOKIE )
582
+ . ok_or_else ( || "Cookie header not found" . to_string ( ) )
583
+ . and_then ( |v| v. to_str ( ) . map_err ( |e| e. to_string ( ) ) ) ;
584
+
572
585
assert_eq ! ( req. method( ) , "POST" ) ;
573
586
assert_eq ! ( req. uri( ) , "https://id.execute-api.us-east-1.amazonaws.com/my/path?parameter1=value1¶meter1=value2¶meter2=value" ) ;
587
+ assert_eq ! ( cookie_header, Ok ( "cookie1=value1;cookie2=value2" ) ) ;
574
588
}
575
589
576
590
#[ test]
Original file line number Diff line number Diff line change 3
3
"routeKey" : " $default" ,
4
4
"rawPath" : " /my/path" ,
5
5
"rawQueryString" : " parameter1=value1¶meter1=value2¶meter2=value" ,
6
- "cookies" : [ " cookie1" , " cookie2" ],
6
+ "cookies" : [ " cookie1=value1 " , " cookie2=value2 " ],
7
7
"headers" : {
8
8
"Header1" : " value1" ,
9
9
"Header2" : " value2"
You can’t perform that action at this time.
0 commit comments