feat(header): implement fmt::Display for several headers

Specifically, `CacheControl`, `Expect`, `Origin`, `Pragma`, `Prefer`,
`PreferenceApplied`, `ReferrerPolicy`, `StrictTransportSecurity`.
This commit is contained in:
Sean McArthur
2017-01-31 13:25:33 -08:00
parent b4b2fb782e
commit e9e7381ece
11 changed files with 77 additions and 17 deletions

View File

@@ -64,6 +64,13 @@ impl Header for PreferenceApplied {
}
fn fmt_header(&self, f: &mut fmt::Formatter) -> fmt::Result {
fmt::Display::fmt(self, f)
}
}
impl fmt::Display for PreferenceApplied {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
//TODO: format this without allocating a Vec and cloning contents
let preferences: Vec<_> = self.0.iter().map(|pref| match pref {
// The spec ignores parameters in `Preferences-Applied`
&Preference::Extension(ref name, ref value, _) => Preference::Extension(