pub fn read_header_name(name: &str) -> String {
name.trim().to_lowercase().replace('-', "_")
}
pub fn write_header_name(name: &str) -> String {
name.replace('_', "-")
}
#[cfg(test)]
mod tests {
use super::{read_header_name, write_header_name};
#[test]
fn writes_the_words_an_argument_states_as_a_header_name() {
assert_eq!(write_header_name("user_agent"), "user-agent");
assert_eq!(read_header_name(&write_header_name("user_agent")), "user_agent");
}
#[test]
fn reads_a_header_name_as_the_words_it_states() {
assert_eq!(read_header_name("User-Agent"), "user_agent");
assert_eq!(read_header_name(" CONTENT-TYPE "), "content_type");
assert_eq!(read_header_name("user_agent"), "user_agent");
}
}