Skip to content

Commit 4c84840

Browse files
committed
flat map
1 parent 974b221 commit 4c84840

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

beacon_node/http_api/src/light_client.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,14 @@ pub fn get_light_client_updates<T: BeaconChainTypes>(
3535
Some(api_types::Accept::Ssz) => {
3636
let response_chunks = light_client_updates
3737
.into_iter()
38-
.map(|update| map_light_client_update_to_response_chunk::<T>(&chain, update))
39-
.collect::<Vec<_>>();
38+
.flat_map(|update| {
39+
map_light_client_update_to_response_chunk::<T>(&chain, update).as_ssz_bytes()
40+
})
41+
.collect();
4042

4143
Response::builder()
4244
.status(200)
43-
.body(response_chunks.as_ssz_bytes())
45+
.body(response_chunks)
4446
.map(|res: Response<Vec<u8>>| add_ssz_content_type_header(res))
4547
.map_err(|e| {
4648
warp_utils::reject::custom_server_error(format!(
@@ -155,7 +157,7 @@ fn map_light_client_update_to_response_chunk<T: BeaconChainTypes>(
155157
.epoch(T::EthSpec::slots_per_epoch());
156158
let fork_digest = chain.compute_fork_digest(epoch);
157159

158-
let response_chunk_len = fork_digest.len() + light_client_update.as_ssz_bytes().len();
160+
let response_chunk_len = fork_digest.len() + light_client_update.ssz_bytes_len();
159161

160162
let response_chunk = LightClientUpdateResponseChunkInner {
161163
context: fork_digest,

0 commit comments

Comments
 (0)