Headers insert_raw -> append_raw, set_raw -> insert_raw (#612)

This commit is contained in:
Paolo Barbolini
2021-05-04 18:19:21 +02:00
committed by GitHub
parent 1b5109b6ac
commit 99df9e8d7c
8 changed files with 31 additions and 31 deletions

View File

@@ -93,7 +93,7 @@ mod test {
fn parse_content_transfer_encoding() {
let mut headers = Headers::new();
headers.set_raw(
headers.insert_raw(
HeaderName::new_from_ascii_str("Content-Transfer-Encoding"),
"7bit".to_string(),
);
@@ -103,7 +103,7 @@ mod test {
Some(ContentTransferEncoding::SevenBit)
);
headers.set_raw(
headers.insert_raw(
HeaderName::new_from_ascii_str("Content-Transfer-Encoding"),
"base64".to_string(),
);

View File

@@ -66,7 +66,7 @@ mod test {
fn parse_content_disposition() {
let mut headers = Headers::new();
headers.set_raw(
headers.insert_raw(
HeaderName::new_from_ascii_str("Content-Disposition"),
"inline".to_string(),
);
@@ -76,7 +76,7 @@ mod test {
Some(ContentDisposition::inline())
);
headers.set_raw(
headers.insert_raw(
HeaderName::new_from_ascii_str("Content-Disposition"),
"attachment; filename=\"something.txt\"".to_string(),
);

View File

@@ -106,14 +106,14 @@ mod test {
fn parse_content_type() {
let mut headers = Headers::new();
headers.set_raw(
headers.insert_raw(
HeaderName::new_from_ascii_str("Content-Type"),
"text/plain; charset=utf-8".to_string(),
);
assert_eq!(headers.get::<ContentType>(), Some(ContentType::TEXT_PLAIN));
headers.set_raw(
headers.insert_raw(
HeaderName::new_from_ascii_str("Content-Type"),
"text/html; charset=utf-8".to_string(),
);

View File

@@ -106,7 +106,7 @@ mod test {
fn parse_date() {
let mut headers = Headers::new();
headers.set_raw(
headers.insert_raw(
HeaderName::new_from_ascii_str("Date"),
"Tue, 15 Nov 1994 08:12:31 -0000".to_string(),
);
@@ -118,7 +118,7 @@ mod test {
))
);
headers.set_raw(
headers.insert_raw(
HeaderName::new_from_ascii_str("Date"),
"Tue, 15 Nov 1994 08:12:32 -0000".to_string(),
);

View File

@@ -232,7 +232,7 @@ mod test {
let from = vec!["kayo@example.com".parse().unwrap()].into();
let mut headers = Headers::new();
headers.set_raw(
headers.insert_raw(
HeaderName::new_from_ascii_str("From"),
"kayo@example.com".to_string(),
);
@@ -245,7 +245,7 @@ mod test {
let from = vec!["K. <kayo@example.com>".parse().unwrap()].into();
let mut headers = Headers::new();
headers.set_raw(
headers.insert_raw(
HeaderName::new_from_ascii_str("From"),
"K. <kayo@example.com>".to_string(),
);
@@ -261,7 +261,7 @@ mod test {
];
let mut headers = Headers::new();
headers.set_raw(
headers.insert_raw(
HeaderName::new_from_ascii_str("From"),
"kayo@example.com, pony@domain.tld".to_string(),
);
@@ -277,7 +277,7 @@ mod test {
];
let mut headers = Headers::new();
headers.set_raw(
headers.insert_raw(
HeaderName::new_from_ascii_str("From"),
"K. <kayo@example.com>, Pony P. <pony@domain.tld>".to_string(),
);

View File

@@ -71,7 +71,7 @@ impl Headers {
/// Sets `Header` into `Headers`, overriding `Header` if it
/// was already present in `Headers`
pub fn set<H: Header>(&mut self, header: H) {
self.set_raw(H::name(), header.display());
self.insert_raw(H::name(), header.display());
}
/// Remove `Header` from `Headers`, returning it
@@ -97,23 +97,9 @@ impl Headers {
self.find_header(name).map(|(_name, value)| value)
}
/// Appends a raw header into `Headers`
///
/// If a header with a name of `name` is already present,
/// appends `, ` + `value` to it's current value.
pub fn insert_raw(&mut self, name: HeaderName, value: String) {
match self.find_header_mut(&name) {
Some((_name, prev_value)) => {
prev_value.push_str(", ");
prev_value.push_str(&value);
}
None => self.headers.push((name, value)),
}
}
/// Inserts a raw header into `Headers`, overriding `value` if it
/// was already present in `Headers`.
pub fn set_raw(&mut self, name: HeaderName, value: String) {
pub fn insert_raw(&mut self, name: HeaderName, value: String) {
match self.find_header_mut(&name) {
Some((_, current_value)) => {
*current_value = value;
@@ -124,6 +110,20 @@ impl Headers {
}
}
/// Appends a raw header into `Headers`
///
/// If a header with a name of `name` is already present,
/// appends `, ` + `value` to it's current value.
pub fn append_raw(&mut self, name: HeaderName, value: String) {
match self.find_header_mut(&name) {
Some((_name, prev_value)) => {
prev_value.push_str(", ");
prev_value.push_str(&value);
}
None => self.headers.push((name, value)),
}
}
/// Remove a raw header from `Headers`, returning it
///
/// Returns `None` if `name` isn't present in `Headers`.

View File

@@ -80,14 +80,14 @@ mod test {
fn parse_mime_version() {
let mut headers = Headers::new();
headers.set_raw(
headers.insert_raw(
HeaderName::new_from_ascii_str("MIME-Version"),
"1.0".to_string(),
);
assert_eq!(headers.get::<MimeVersion>(), Some(MIME_VERSION_1_0));
headers.set_raw(
headers.insert_raw(
HeaderName::new_from_ascii_str("MIME-Version"),
"0.1".to_string(),
);

View File

@@ -110,7 +110,7 @@ mod test {
#[test]
fn parse_ascii() {
let mut headers = Headers::new();
headers.set_raw(
headers.insert_raw(
HeaderName::new_from_ascii_str("Subject"),
"Sample subject".to_string(),
);