@@ -82,10 +82,18 @@ pub trait Context {
8282 hostcalls:: get_map ( MapType :: HttpCallResponseHeaders ) . unwrap ( )
8383 }
8484
85+ fn get_http_call_response_headers_bytes ( & self ) -> Vec < ( String , Bytes ) > {
86+ hostcalls:: get_map_bytes ( MapType :: HttpCallResponseHeaders ) . unwrap ( )
87+ }
88+
8589 fn get_http_call_response_header ( & self , name : & str ) -> Option < String > {
8690 hostcalls:: get_map_value ( MapType :: HttpCallResponseHeaders , & name) . unwrap ( )
8791 }
8892
93+ fn get_http_call_response_header_bytes ( & self , name : & str ) -> Option < Bytes > {
94+ hostcalls:: get_map_value_bytes ( MapType :: HttpCallResponseHeaders , name) . unwrap ( )
95+ }
96+
8997 fn get_http_call_response_body ( & self , start : usize , max_size : usize ) -> Option < Bytes > {
9098 hostcalls:: get_buffer ( BufferType :: HttpCallResponseBody , start, max_size) . unwrap ( )
9199 }
@@ -94,10 +102,18 @@ pub trait Context {
94102 hostcalls:: get_map ( MapType :: HttpCallResponseTrailers ) . unwrap ( )
95103 }
96104
105+ fn get_http_call_response_trailers_bytes ( & self ) -> Vec < ( String , Bytes ) > {
106+ hostcalls:: get_map_bytes ( MapType :: HttpCallResponseTrailers ) . unwrap ( )
107+ }
108+
97109 fn get_http_call_response_trailer ( & self , name : & str ) -> Option < String > {
98110 hostcalls:: get_map_value ( MapType :: HttpCallResponseTrailers , & name) . unwrap ( )
99111 }
100112
113+ fn get_http_call_response_trailer_bytes ( & self , name : & str ) -> Option < Bytes > {
114+ hostcalls:: get_map_value_bytes ( MapType :: HttpCallResponseTrailers , name) . unwrap ( )
115+ }
116+
101117 fn dispatch_grpc_call (
102118 & self ,
103119 upstream_name : & str ,
@@ -271,22 +287,42 @@ pub trait HttpContext: Context {
271287 hostcalls:: get_map ( MapType :: HttpRequestHeaders ) . unwrap ( )
272288 }
273289
290+ fn get_http_request_headers_bytes ( & self ) -> Vec < ( String , Bytes ) > {
291+ hostcalls:: get_map_bytes ( MapType :: HttpRequestHeaders ) . unwrap ( )
292+ }
293+
274294 fn set_http_request_headers ( & self , headers : Vec < ( & str , & str ) > ) {
275295 hostcalls:: set_map ( MapType :: HttpRequestHeaders , headers) . unwrap ( )
276296 }
277297
298+ fn set_http_request_headers_bytes ( & self , headers : Vec < ( & str , & [ u8 ] ) > ) {
299+ hostcalls:: set_map_bytes ( MapType :: HttpRequestHeaders , headers) . unwrap ( )
300+ }
301+
278302 fn get_http_request_header ( & self , name : & str ) -> Option < String > {
279303 hostcalls:: get_map_value ( MapType :: HttpRequestHeaders , & name) . unwrap ( )
280304 }
281305
306+ fn get_http_request_header_bytes ( & self , name : & str ) -> Option < Bytes > {
307+ hostcalls:: get_map_value_bytes ( MapType :: HttpRequestHeaders , name) . unwrap ( )
308+ }
309+
282310 fn set_http_request_header ( & self , name : & str , value : Option < & str > ) {
283311 hostcalls:: set_map_value ( MapType :: HttpRequestHeaders , & name, value) . unwrap ( )
284312 }
285313
314+ fn set_http_request_header_bytes ( & self , name : & str , value : Option < & [ u8 ] > ) {
315+ hostcalls:: set_map_value_bytes ( MapType :: HttpRequestHeaders , name, value) . unwrap ( )
316+ }
317+
286318 fn add_http_request_header ( & self , name : & str , value : & str ) {
287319 hostcalls:: add_map_value ( MapType :: HttpRequestHeaders , & name, value) . unwrap ( )
288320 }
289321
322+ fn add_http_request_header_bytes ( & self , name : & str , value : & [ u8 ] ) {
323+ hostcalls:: add_map_value_bytes ( MapType :: HttpRequestHeaders , name, value) . unwrap ( )
324+ }
325+
290326 fn on_http_request_body ( & mut self , _body_size : usize , _end_of_stream : bool ) -> Action {
291327 Action :: Continue
292328 }
@@ -307,22 +343,42 @@ pub trait HttpContext: Context {
307343 hostcalls:: get_map ( MapType :: HttpRequestTrailers ) . unwrap ( )
308344 }
309345
346+ fn get_http_request_trailers_bytes ( & self ) -> Vec < ( String , Bytes ) > {
347+ hostcalls:: get_map_bytes ( MapType :: HttpRequestTrailers ) . unwrap ( )
348+ }
349+
310350 fn set_http_request_trailers ( & self , trailers : Vec < ( & str , & str ) > ) {
311351 hostcalls:: set_map ( MapType :: HttpRequestTrailers , trailers) . unwrap ( )
312352 }
313353
354+ fn set_http_request_trailers_bytes ( & self , trailers : Vec < ( & str , & [ u8 ] ) > ) {
355+ hostcalls:: set_map_bytes ( MapType :: HttpRequestTrailers , trailers) . unwrap ( )
356+ }
357+
314358 fn get_http_request_trailer ( & self , name : & str ) -> Option < String > {
315359 hostcalls:: get_map_value ( MapType :: HttpRequestTrailers , & name) . unwrap ( )
316360 }
317361
362+ fn get_http_request_trailer_bytes ( & self , name : & str ) -> Option < Bytes > {
363+ hostcalls:: get_map_value_bytes ( MapType :: HttpRequestTrailers , name) . unwrap ( )
364+ }
365+
318366 fn set_http_request_trailer ( & self , name : & str , value : Option < & str > ) {
319367 hostcalls:: set_map_value ( MapType :: HttpRequestTrailers , & name, value) . unwrap ( )
320368 }
321369
370+ fn set_http_request_trailer_bytes ( & self , name : & str , value : Option < & [ u8 ] > ) {
371+ hostcalls:: set_map_value_bytes ( MapType :: HttpRequestTrailers , name, value) . unwrap ( )
372+ }
373+
322374 fn add_http_request_trailer ( & self , name : & str , value : & str ) {
323375 hostcalls:: add_map_value ( MapType :: HttpRequestTrailers , & name, value) . unwrap ( )
324376 }
325377
378+ fn add_http_request_trailer_bytes ( & self , name : & str , value : & [ u8 ] ) {
379+ hostcalls:: add_map_value_bytes ( MapType :: HttpRequestTrailers , name, value) . unwrap ( )
380+ }
381+
326382 fn resume_http_request ( & self ) {
327383 hostcalls:: resume_http_request ( ) . unwrap ( )
328384 }
@@ -335,22 +391,42 @@ pub trait HttpContext: Context {
335391 hostcalls:: get_map ( MapType :: HttpResponseHeaders ) . unwrap ( )
336392 }
337393
394+ fn get_http_response_headers_bytes ( & self ) -> Vec < ( String , Bytes ) > {
395+ hostcalls:: get_map_bytes ( MapType :: HttpResponseHeaders ) . unwrap ( )
396+ }
397+
338398 fn set_http_response_headers ( & self , headers : Vec < ( & str , & str ) > ) {
339399 hostcalls:: set_map ( MapType :: HttpResponseHeaders , headers) . unwrap ( )
340400 }
341401
402+ fn set_http_response_headers_bytes ( & self , headers : Vec < ( & str , & [ u8 ] ) > ) {
403+ hostcalls:: set_map_bytes ( MapType :: HttpResponseHeaders , headers) . unwrap ( )
404+ }
405+
342406 fn get_http_response_header ( & self , name : & str ) -> Option < String > {
343407 hostcalls:: get_map_value ( MapType :: HttpResponseHeaders , & name) . unwrap ( )
344408 }
345409
410+ fn get_http_response_header_bytes ( & self , name : & str ) -> Option < Bytes > {
411+ hostcalls:: get_map_value_bytes ( MapType :: HttpResponseHeaders , name) . unwrap ( )
412+ }
413+
346414 fn set_http_response_header ( & self , name : & str , value : Option < & str > ) {
347415 hostcalls:: set_map_value ( MapType :: HttpResponseHeaders , & name, value) . unwrap ( )
348416 }
349417
418+ fn set_http_response_header_bytes ( & self , name : & str , value : Option < & [ u8 ] > ) {
419+ hostcalls:: set_map_value_bytes ( MapType :: HttpResponseHeaders , name, value) . unwrap ( )
420+ }
421+
350422 fn add_http_response_header ( & self , name : & str , value : & str ) {
351423 hostcalls:: add_map_value ( MapType :: HttpResponseHeaders , & name, value) . unwrap ( )
352424 }
353425
426+ fn add_http_response_header_bytes ( & self , name : & str , value : & [ u8 ] ) {
427+ hostcalls:: add_map_value_bytes ( MapType :: HttpResponseHeaders , name, value) . unwrap ( )
428+ }
429+
354430 fn on_http_response_body ( & mut self , _body_size : usize , _end_of_stream : bool ) -> Action {
355431 Action :: Continue
356432 }
@@ -371,22 +447,42 @@ pub trait HttpContext: Context {
371447 hostcalls:: get_map ( MapType :: HttpResponseTrailers ) . unwrap ( )
372448 }
373449
374- fn set_http_response_trailers ( & self , headers : Vec < ( & str , & str ) > ) {
375- hostcalls:: set_map ( MapType :: HttpResponseTrailers , headers) . unwrap ( )
450+ fn get_http_response_trailers_bytes ( & self ) -> Vec < ( String , Bytes ) > {
451+ hostcalls:: get_map_bytes ( MapType :: HttpResponseTrailers ) . unwrap ( )
452+ }
453+
454+ fn set_http_response_trailers ( & self , trailers : Vec < ( & str , & str ) > ) {
455+ hostcalls:: set_map ( MapType :: HttpResponseTrailers , trailers) . unwrap ( )
456+ }
457+
458+ fn set_http_response_trailers_bytes ( & self , trailers : Vec < ( & str , & [ u8 ] ) > ) {
459+ hostcalls:: set_map_bytes ( MapType :: HttpResponseTrailers , trailers) . unwrap ( )
376460 }
377461
378462 fn get_http_response_trailer ( & self , name : & str ) -> Option < String > {
379463 hostcalls:: get_map_value ( MapType :: HttpResponseTrailers , & name) . unwrap ( )
380464 }
381465
466+ fn get_http_response_trailer_bytes ( & self , name : & str ) -> Option < Bytes > {
467+ hostcalls:: get_map_value_bytes ( MapType :: HttpResponseTrailers , name) . unwrap ( )
468+ }
469+
382470 fn set_http_response_trailer ( & self , name : & str , value : Option < & str > ) {
383471 hostcalls:: set_map_value ( MapType :: HttpResponseTrailers , & name, value) . unwrap ( )
384472 }
385473
474+ fn set_http_response_trailer_bytes ( & self , name : & str , value : Option < & [ u8 ] > ) {
475+ hostcalls:: set_map_value_bytes ( MapType :: HttpResponseTrailers , name, value) . unwrap ( )
476+ }
477+
386478 fn add_http_response_trailer ( & self , name : & str , value : & str ) {
387479 hostcalls:: add_map_value ( MapType :: HttpResponseTrailers , & name, value) . unwrap ( )
388480 }
389481
482+ fn add_http_response_trailer_bytes ( & self , name : & str , value : & [ u8 ] ) {
483+ hostcalls:: add_map_value_bytes ( MapType :: HttpResponseTrailers , name, value) . unwrap ( )
484+ }
485+
390486 fn resume_http_response ( & self ) {
391487 hostcalls:: resume_http_response ( ) . unwrap ( )
392488 }
0 commit comments