in src/main.rs [122:138]
fn parse_key_val(s: &str) -> Result<HashMap<String, String>, Error> {
let mut key_val_map = HashMap::new();
let items = s.split(",").collect::<Vec<&str>>();
for item in items.iter() {
let key_value = item.split("=").collect::<Vec<&str>>();
if key_value.len() % 2 != 0 {
return Err(Error::new(InvalidValue));
}
for i in 0..key_value.len() / 2 {
key_val_map.insert(
key_value[i * 2].to_string(),
key_value[i * 2 + 1].to_string(),
);
}
}
Ok(key_val_map)
}