@@ -970,6 +970,11 @@ impl Http1Transaction for Client {
970970 #[ cfg( not( feature = "ffi" ) ) ]
971971 drop ( reason) ;
972972
973+ #[ cfg( feature = "ffi" ) ]
974+ if ctx. raw_headers {
975+ extensions. insert ( crate :: ffi:: RawHeaders ( crate :: ffi:: hyper_buf ( slice) ) ) ;
976+ }
977+
973978 let head = MessageHead {
974979 version,
975980 subject : status,
@@ -1424,6 +1429,8 @@ mod tests {
14241429 h1_parser_config : Default :: default ( ) ,
14251430 preserve_header_case : false ,
14261431 h09_responses : false ,
1432+ #[ cfg( feature = "ffi" ) ]
1433+ raw_headers : false ,
14271434 } ,
14281435 )
14291436 . unwrap ( )
@@ -1447,6 +1454,8 @@ mod tests {
14471454 h1_parser_config : Default :: default ( ) ,
14481455 preserve_header_case : false ,
14491456 h09_responses : false ,
1457+ #[ cfg( feature = "ffi" ) ]
1458+ raw_headers : false ,
14501459 } ;
14511460 let msg = Client :: parse ( & mut raw, ctx) . unwrap ( ) . unwrap ( ) ;
14521461 assert_eq ! ( raw. len( ) , 0 ) ;
@@ -1465,6 +1474,8 @@ mod tests {
14651474 h1_parser_config : Default :: default ( ) ,
14661475 preserve_header_case : false ,
14671476 h09_responses : false ,
1477+ #[ cfg( feature = "ffi" ) ]
1478+ raw_headers : false ,
14681479 } ;
14691480 Server :: parse ( & mut raw, ctx) . unwrap_err ( ) ;
14701481 }
@@ -1481,6 +1492,8 @@ mod tests {
14811492 h1_parser_config : Default :: default ( ) ,
14821493 preserve_header_case : false ,
14831494 h09_responses : true ,
1495+ #[ cfg( feature = "ffi" ) ]
1496+ raw_headers : false ,
14841497 } ;
14851498 let msg = Client :: parse ( & mut raw, ctx) . unwrap ( ) . unwrap ( ) ;
14861499 assert_eq ! ( raw, H09_RESPONSE ) ;
@@ -1499,6 +1512,8 @@ mod tests {
14991512 h1_parser_config : Default :: default ( ) ,
15001513 preserve_header_case : false ,
15011514 h09_responses : false ,
1515+ #[ cfg( feature = "ffi" ) ]
1516+ raw_headers : false ,
15021517 } ;
15031518 Client :: parse ( & mut raw, ctx) . unwrap_err ( ) ;
15041519 assert_eq ! ( raw, H09_RESPONSE ) ;
@@ -1521,6 +1536,8 @@ mod tests {
15211536 h1_parser_config,
15221537 preserve_header_case : false ,
15231538 h09_responses : false ,
1539+ #[ cfg( feature = "ffi" ) ]
1540+ raw_headers : false ,
15241541 } ;
15251542 let msg = Client :: parse ( & mut raw, ctx) . unwrap ( ) . unwrap ( ) ;
15261543 assert_eq ! ( raw. len( ) , 0 ) ;
@@ -1540,6 +1557,8 @@ mod tests {
15401557 h1_parser_config : Default :: default ( ) ,
15411558 preserve_header_case : false ,
15421559 h09_responses : false ,
1560+ #[ cfg( feature = "ffi" ) ]
1561+ raw_headers : false ,
15431562 } ;
15441563 Client :: parse ( & mut raw, ctx) . unwrap_err ( ) ;
15451564 }
@@ -1554,6 +1573,8 @@ mod tests {
15541573 h1_parser_config : Default :: default ( ) ,
15551574 preserve_header_case : true ,
15561575 h09_responses : false ,
1576+ #[ cfg( feature = "ffi" ) ]
1577+ raw_headers : false ,
15571578 } ;
15581579 let parsed_message = Server :: parse ( & mut raw, ctx) . unwrap ( ) . unwrap ( ) ;
15591580 let orig_headers = parsed_message
@@ -1589,6 +1610,8 @@ mod tests {
15891610 h1_parser_config : Default :: default ( ) ,
15901611 preserve_header_case : false ,
15911612 h09_responses : false ,
1613+ #[ cfg( feature = "ffi" ) ]
1614+ raw_headers : false ,
15921615 } ,
15931616 )
15941617 . expect ( "parse ok" )
@@ -1605,6 +1628,8 @@ mod tests {
16051628 h1_parser_config : Default :: default ( ) ,
16061629 preserve_header_case : false ,
16071630 h09_responses : false ,
1631+ #[ cfg( feature = "ffi" ) ]
1632+ raw_headers : false ,
16081633 } ,
16091634 )
16101635 . expect_err ( comment)
@@ -1820,6 +1845,8 @@ mod tests {
18201845 h1_parser_config: Default :: default ( ) ,
18211846 preserve_header_case: false ,
18221847 h09_responses: false ,
1848+ #[ cfg( feature = "ffi" ) ]
1849+ raw_headers: false ,
18231850 }
18241851 )
18251852 . expect( "parse ok" )
@@ -1836,6 +1863,8 @@ mod tests {
18361863 h1_parser_config : Default :: default ( ) ,
18371864 preserve_header_case : false ,
18381865 h09_responses : false ,
1866+ #[ cfg( feature = "ffi" ) ]
1867+ raw_headers : false ,
18391868 } ,
18401869 )
18411870 . expect ( "parse ok" )
@@ -1852,6 +1881,8 @@ mod tests {
18521881 h1_parser_config : Default :: default ( ) ,
18531882 preserve_header_case : false ,
18541883 h09_responses : false ,
1884+ #[ cfg( feature = "ffi" ) ]
1885+ raw_headers : false ,
18551886 } ,
18561887 )
18571888 . expect_err ( "parse should err" )
@@ -2335,6 +2366,8 @@ mod tests {
23352366 h1_parser_config : Default :: default ( ) ,
23362367 preserve_header_case : false ,
23372368 h09_responses : false ,
2369+ #[ cfg( feature = "ffi" ) ]
2370+ raw_headers : false ,
23382371 } ,
23392372 )
23402373 . expect ( "parse ok" )
@@ -2415,6 +2448,8 @@ mod tests {
24152448 h1_parser_config : Default :: default ( ) ,
24162449 preserve_header_case : false ,
24172450 h09_responses : false ,
2451+ #[ cfg( feature = "ffi" ) ]
2452+ raw_headers : false ,
24182453 } ,
24192454 )
24202455 . unwrap ( )
@@ -2451,6 +2486,8 @@ mod tests {
24512486 h1_parser_config : Default :: default ( ) ,
24522487 preserve_header_case : false ,
24532488 h09_responses : false ,
2489+ #[ cfg( feature = "ffi" ) ]
2490+ raw_headers : false ,
24542491 } ,
24552492 )
24562493 . unwrap ( )
0 commit comments