@@ -37,39 +37,44 @@ pub(crate) fn bytes_to_payload(data: &[u8]) -> Result<CanisterHttpPayload, Proxy
3737}
3838
3939pub ( crate ) fn payload_to_bytes ( payload : CanisterHttpPayload , max_size : NumBytes ) -> Vec < u8 > {
40- let message_iterator = payload
41- . timeouts
42- . into_iter ( )
43- . map ( |timeout| CanisterHttpResponseMessage {
44- message_type : Some ( MessageType :: Timeout ( timeout. get ( ) ) ) ,
45- } )
46- . chain ( payload. divergence_responses . into_iter ( ) . map ( |response| {
47- CanisterHttpResponseMessage {
48- message_type : Some ( MessageType :: DivergenceResponse (
49- pb:: CanisterHttpResponseDivergence :: from ( response) ,
50- ) ) ,
51- }
52- } ) )
53- . chain (
54- payload
55- . responses
56- . into_iter ( )
57- . map ( |response| CanisterHttpResponseMessage {
58- message_type : Some ( MessageType :: Response (
59- pb:: CanisterHttpResponseWithConsensus :: from ( response) ,
60- ) ) ,
61- } ) ,
62- )
63- . chain (
64- payload
65- . flexible_responses
66- . into_iter ( )
67- . map ( |flex_responses| CanisterHttpResponseMessage {
40+ let CanisterHttpPayload {
41+ timeouts,
42+ divergence_responses,
43+ responses,
44+ flexible_responses,
45+ } = payload;
46+
47+ let message_iterator =
48+ timeouts
49+ . into_iter ( )
50+ . map ( |timeout| CanisterHttpResponseMessage {
51+ message_type : Some ( MessageType :: Timeout ( timeout. get ( ) ) ) ,
52+ } )
53+ . chain (
54+ divergence_responses
55+ . into_iter ( )
56+ . map ( |response| CanisterHttpResponseMessage {
57+ message_type : Some ( MessageType :: DivergenceResponse (
58+ pb:: CanisterHttpResponseDivergence :: from ( response) ,
59+ ) ) ,
60+ } ) ,
61+ )
62+ . chain (
63+ responses
64+ . into_iter ( )
65+ . map ( |response| CanisterHttpResponseMessage {
66+ message_type : Some ( MessageType :: Response (
67+ pb:: CanisterHttpResponseWithConsensus :: from ( response) ,
68+ ) ) ,
69+ } ) ,
70+ )
71+ . chain ( flexible_responses. into_iter ( ) . map ( |flex_responses| {
72+ CanisterHttpResponseMessage {
6873 message_type : Some ( MessageType :: FlexibleResponses (
6974 pb:: FlexibleCanisterHttpResponses :: from ( flex_responses) ,
7075 ) ) ,
71- } ) ,
72- ) ;
76+ }
77+ } ) ) ;
7378
7479 iterator_to_bytes ( message_iterator, max_size)
7580}
0 commit comments