1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
pub type EscapeFn = Box<dyn Fn(&str) -> String + Send + Sync>;
pub fn escape_html(s: &str) -> String {
let mut output = String::new();
for c in s.chars() {
match c {
'<' => output.push_str("<"),
'>' => output.push_str(">"),
'"' => output.push_str("""),
'&' => output.push_str("&"),
'\'' => output.push_str("'"),
'`' => output.push_str("`"),
'=' => output.push_str("="),
_ => output.push(c),
}
}
output
}
pub fn escape_noop(s: &str) -> String {
s.to_owned()
}