@@ -970,6 +970,11 @@ impl Http1Transaction for Client {
970
970
#[ cfg( not( feature = "ffi" ) ) ]
971
971
drop ( reason) ;
972
972
973
+ #[ cfg( feature = "ffi" ) ]
974
+ if ctx. raw_headers {
975
+ extensions. insert ( crate :: ffi:: RawHeaders ( crate :: ffi:: hyper_buf ( slice) ) ) ;
976
+ }
977
+
973
978
let head = MessageHead {
974
979
version,
975
980
subject : status,
@@ -1424,6 +1429,8 @@ mod tests {
1424
1429
h1_parser_config : Default :: default ( ) ,
1425
1430
preserve_header_case : false ,
1426
1431
h09_responses : false ,
1432
+ #[ cfg( feature = "ffi" ) ]
1433
+ raw_headers : false ,
1427
1434
} ,
1428
1435
)
1429
1436
. unwrap ( )
@@ -1447,6 +1454,8 @@ mod tests {
1447
1454
h1_parser_config : Default :: default ( ) ,
1448
1455
preserve_header_case : false ,
1449
1456
h09_responses : false ,
1457
+ #[ cfg( feature = "ffi" ) ]
1458
+ raw_headers : false ,
1450
1459
} ;
1451
1460
let msg = Client :: parse ( & mut raw, ctx) . unwrap ( ) . unwrap ( ) ;
1452
1461
assert_eq ! ( raw. len( ) , 0 ) ;
@@ -1465,6 +1474,8 @@ mod tests {
1465
1474
h1_parser_config : Default :: default ( ) ,
1466
1475
preserve_header_case : false ,
1467
1476
h09_responses : false ,
1477
+ #[ cfg( feature = "ffi" ) ]
1478
+ raw_headers : false ,
1468
1479
} ;
1469
1480
Server :: parse ( & mut raw, ctx) . unwrap_err ( ) ;
1470
1481
}
@@ -1481,6 +1492,8 @@ mod tests {
1481
1492
h1_parser_config : Default :: default ( ) ,
1482
1493
preserve_header_case : false ,
1483
1494
h09_responses : true ,
1495
+ #[ cfg( feature = "ffi" ) ]
1496
+ raw_headers : false ,
1484
1497
} ;
1485
1498
let msg = Client :: parse ( & mut raw, ctx) . unwrap ( ) . unwrap ( ) ;
1486
1499
assert_eq ! ( raw, H09_RESPONSE ) ;
@@ -1499,6 +1512,8 @@ mod tests {
1499
1512
h1_parser_config : Default :: default ( ) ,
1500
1513
preserve_header_case : false ,
1501
1514
h09_responses : false ,
1515
+ #[ cfg( feature = "ffi" ) ]
1516
+ raw_headers : false ,
1502
1517
} ;
1503
1518
Client :: parse ( & mut raw, ctx) . unwrap_err ( ) ;
1504
1519
assert_eq ! ( raw, H09_RESPONSE ) ;
@@ -1521,6 +1536,8 @@ mod tests {
1521
1536
h1_parser_config,
1522
1537
preserve_header_case : false ,
1523
1538
h09_responses : false ,
1539
+ #[ cfg( feature = "ffi" ) ]
1540
+ raw_headers : false ,
1524
1541
} ;
1525
1542
let msg = Client :: parse ( & mut raw, ctx) . unwrap ( ) . unwrap ( ) ;
1526
1543
assert_eq ! ( raw. len( ) , 0 ) ;
@@ -1540,6 +1557,8 @@ mod tests {
1540
1557
h1_parser_config : Default :: default ( ) ,
1541
1558
preserve_header_case : false ,
1542
1559
h09_responses : false ,
1560
+ #[ cfg( feature = "ffi" ) ]
1561
+ raw_headers : false ,
1543
1562
} ;
1544
1563
Client :: parse ( & mut raw, ctx) . unwrap_err ( ) ;
1545
1564
}
@@ -1554,6 +1573,8 @@ mod tests {
1554
1573
h1_parser_config : Default :: default ( ) ,
1555
1574
preserve_header_case : true ,
1556
1575
h09_responses : false ,
1576
+ #[ cfg( feature = "ffi" ) ]
1577
+ raw_headers : false ,
1557
1578
} ;
1558
1579
let parsed_message = Server :: parse ( & mut raw, ctx) . unwrap ( ) . unwrap ( ) ;
1559
1580
let orig_headers = parsed_message
@@ -1589,6 +1610,8 @@ mod tests {
1589
1610
h1_parser_config : Default :: default ( ) ,
1590
1611
preserve_header_case : false ,
1591
1612
h09_responses : false ,
1613
+ #[ cfg( feature = "ffi" ) ]
1614
+ raw_headers : false ,
1592
1615
} ,
1593
1616
)
1594
1617
. expect ( "parse ok" )
@@ -1605,6 +1628,8 @@ mod tests {
1605
1628
h1_parser_config : Default :: default ( ) ,
1606
1629
preserve_header_case : false ,
1607
1630
h09_responses : false ,
1631
+ #[ cfg( feature = "ffi" ) ]
1632
+ raw_headers : false ,
1608
1633
} ,
1609
1634
)
1610
1635
. expect_err ( comment)
@@ -1820,6 +1845,8 @@ mod tests {
1820
1845
h1_parser_config: Default :: default ( ) ,
1821
1846
preserve_header_case: false ,
1822
1847
h09_responses: false ,
1848
+ #[ cfg( feature = "ffi" ) ]
1849
+ raw_headers: false ,
1823
1850
}
1824
1851
)
1825
1852
. expect( "parse ok" )
@@ -1836,6 +1863,8 @@ mod tests {
1836
1863
h1_parser_config : Default :: default ( ) ,
1837
1864
preserve_header_case : false ,
1838
1865
h09_responses : false ,
1866
+ #[ cfg( feature = "ffi" ) ]
1867
+ raw_headers : false ,
1839
1868
} ,
1840
1869
)
1841
1870
. expect ( "parse ok" )
@@ -1852,6 +1881,8 @@ mod tests {
1852
1881
h1_parser_config : Default :: default ( ) ,
1853
1882
preserve_header_case : false ,
1854
1883
h09_responses : false ,
1884
+ #[ cfg( feature = "ffi" ) ]
1885
+ raw_headers : false ,
1855
1886
} ,
1856
1887
)
1857
1888
. expect_err ( "parse should err" )
@@ -2335,6 +2366,8 @@ mod tests {
2335
2366
h1_parser_config : Default :: default ( ) ,
2336
2367
preserve_header_case : false ,
2337
2368
h09_responses : false ,
2369
+ #[ cfg( feature = "ffi" ) ]
2370
+ raw_headers : false ,
2338
2371
} ,
2339
2372
)
2340
2373
. expect ( "parse ok" )
@@ -2415,6 +2448,8 @@ mod tests {
2415
2448
h1_parser_config : Default :: default ( ) ,
2416
2449
preserve_header_case : false ,
2417
2450
h09_responses : false ,
2451
+ #[ cfg( feature = "ffi" ) ]
2452
+ raw_headers : false ,
2418
2453
} ,
2419
2454
)
2420
2455
. unwrap ( )
@@ -2451,6 +2486,8 @@ mod tests {
2451
2486
h1_parser_config : Default :: default ( ) ,
2452
2487
preserve_header_case : false ,
2453
2488
h09_responses : false ,
2489
+ #[ cfg( feature = "ffi" ) ]
2490
+ raw_headers : false ,
2454
2491
} ,
2455
2492
)
2456
2493
. unwrap ( )
0 commit comments