diff --git a/src/filter.rs b/src/filter.rs index 56d4ba3..0ff5965 100644 --- a/src/filter.rs +++ b/src/filter.rs @@ -3,18 +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| { - for prefix in block_list.iter() { - if line.starts_with(prefix) { - return false; - } - } - return true; - }); - - 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)]