forked from Deuxfleurs/tricot
Support headers with spaces in their value
This commit is contained in:
parent
625fd24113
commit
6383d98772
1 changed files with 17 additions and 1 deletions
|
@ -161,7 +161,7 @@ fn parse_tricot_tag(
|
||||||
}
|
}
|
||||||
|
|
||||||
fn parse_tricot_add_header_tag(tag: &str) -> Option<(String, String)> {
|
fn parse_tricot_add_header_tag(tag: &str) -> Option<(String, String)> {
|
||||||
let splits = tag.split(' ').collect::<Vec<_>>();
|
let splits = tag.splitn(3, ' ').collect::<Vec<_>>();
|
||||||
if splits.len() == 3 && splits[0] == "tricot-add-header" {
|
if splits.len() == 3 && splits[0] == "tricot-add-header" {
|
||||||
Some((splits[1].to_string(), splits[2].to_string()))
|
Some((splits[1].to_string(), splits[2].to_string()))
|
||||||
} else {
|
} else {
|
||||||
|
@ -352,3 +352,19 @@ pub fn spawn_proxy_config_task(
|
||||||
|
|
||||||
rx
|
rx
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_parse_tricot_add_header_tag() {
|
||||||
|
match parse_tricot_add_header_tag("tricot-add-header Content-Security-Policy default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'") {
|
||||||
|
Some((name, value)) => {
|
||||||
|
assert_eq!(name, "Content-Security-Policy");
|
||||||
|
assert_eq!(value, "default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'");
|
||||||
|
}
|
||||||
|
_ => panic!("Passed a valid tag but the function says it is not valid")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue