From 38fc5430ffbaf372ec2e6256daac72d6f750cb13 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Fri, 14 May 2021 10:29:12 +0200 Subject: [PATCH 1/2] Refactor: Be more idomatic with iterator API Signed-off-by: Matthias Beyer --- src/filter.rs | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/filter.rs b/src/filter.rs index 56d4ba3..279b7ae 100644 --- a/src/filter.rs +++ b/src/filter.rs @@ -4,12 +4,7 @@ pub fn filter(block_list: &Vec, buf: &[u8]) -> String { let statsd_str = unsafe { str::from_utf8_unchecked(&buf) }; let result_itr = statsd_str.split("\n").filter(|line| { - for prefix in block_list.iter() { - if line.starts_with(prefix) { - return false; - } - } - return true; + !block_list.iter().any(|prefix| line.starts_with(prefix)) }); let result = result_itr.collect::>().join("\n"); From c6c5fb854d30f23df33201ab34c0e1f8717868b3 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Fri, 14 May 2021 10:30:27 +0200 Subject: [PATCH 2/2] Refactor: Be more idomatic using iterator API, remove return keyword Signed-off-by: Matthias Beyer --- src/filter.rs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/filter.rs b/src/filter.rs index 279b7ae..0ff5965 100644 --- a/src/filter.rs +++ b/src/filter.rs @@ -3,13 +3,12 @@ use std::str; pub fn filter(block_list: &Vec, buf: &[u8]) -> String { let statsd_str = unsafe { str::from_utf8_unchecked(&buf) }; - let result_itr = statsd_str.split("\n").filter(|line| { - !block_list.iter().any(|prefix| line.starts_with(prefix)) - }); - - let result = result_itr.collect::>().join("\n"); - - return result; + statsd_str.split("\n") + .filter(|line| { + !block_list.iter().any(|prefix| line.starts_with(prefix)) + }) + .collect::>() + .join("\n") } #[cfg(test)]