@@ -313,7 +313,10 @@ impl Http1Transaction for Server {
313313 }
314314
315315 if let Some ( ref mut header_case_map) = header_case_map {
316- header_case_map. append ( & name, slice. slice ( header. name . 0 ..header. name . 1 ) ) ;
316+ header_case_map. append (
317+ & name,
318+ String :: from_utf8 ( slice. slice ( header. name . 0 ..header. name . 1 ) . to_vec ( ) ) . unwrap ( ) ,
319+ ) ;
317320 }
318321
319322 #[ cfg( feature = "ffi" ) ]
@@ -567,7 +570,7 @@ impl Server {
567570 ) -> crate :: Result < Encoder > {
568571 struct OrigCaseWriter < ' map > {
569572 map : & ' map HeaderCaseMap ,
570- current : Option < ( HeaderName , ValueIter < ' map , Bytes > ) > ,
573+ current : Option < ( HeaderName , ValueIter < ' map , String > ) > ,
571574 title_case_headers : bool ,
572575 }
573576
@@ -608,7 +611,7 @@ impl Server {
608611 current. get_or_insert_with ( || ( name. clone ( ) , map. get_all_internal ( name) ) ) ;
609612
610613 if let Some ( orig_name) = values. next ( ) {
611- extend ( dst, orig_name) ;
614+ extend ( dst, orig_name. as_bytes ( ) ) ;
612615 } else if title_case_headers {
613616 title_case ( dst, name. as_str ( ) . as_bytes ( ) ) ;
614617 } else {
@@ -1104,7 +1107,11 @@ impl Http1Transaction for Client {
11041107 }
11051108
11061109 if let Some ( ref mut header_case_map) = header_case_map {
1107- header_case_map. append ( & name, slice. slice ( header. name . 0 ..header. name . 1 ) ) ;
1110+ header_case_map. append (
1111+ & name,
1112+ String :: from_utf8 ( slice. slice ( header. name . 0 ..header. name . 1 ) . to_vec ( ) )
1113+ . unwrap ( ) ,
1114+ ) ;
11081115 }
11091116
11101117 #[ cfg( feature = "ffi" ) ]
@@ -2895,7 +2902,7 @@ mod tests {
28952902 let name = http:: header:: HeaderName :: from_static ( "x-empty" ) ;
28962903 headers. insert ( & name, "" . parse ( ) . expect ( "parse empty" ) ) ;
28972904 let mut orig_cases = HeaderCaseMap :: default ( ) ;
2898- orig_cases. insert ( name, Bytes :: from_static ( b "X-EmptY") ) ;
2905+ orig_cases. insert ( name, String :: from ( "X-EmptY" ) ) ;
28992906
29002907 let mut dst = Vec :: new ( ) ;
29012908 super :: write_headers_original_case ( & headers, & orig_cases, & mut dst, false ) ;
@@ -2914,8 +2921,8 @@ mod tests {
29142921 headers. append ( & name, "b" . parse ( ) . unwrap ( ) ) ;
29152922
29162923 let mut orig_cases = HeaderCaseMap :: default ( ) ;
2917- orig_cases. insert ( name. clone ( ) , Bytes :: from_static ( b "X-Empty") ) ;
2918- orig_cases. append ( name, Bytes :: from_static ( b "X-EMPTY") ) ;
2924+ orig_cases. insert ( name. clone ( ) , String :: from ( "X-Empty" ) ) ;
2925+ orig_cases. append ( name, String :: from ( "X-EMPTY" ) ) ;
29192926
29202927 let mut dst = Vec :: new ( ) ;
29212928 super :: write_headers_original_case ( & headers, & orig_cases, & mut dst, false ) ;
0 commit comments