diff --git a/crates/ruma-common/src/http_headers/content_disposition.rs b/crates/ruma-common/src/http_headers/content_disposition.rs index e127081a..a8ebd8cd 100644 --- a/crates/ruma-common/src/http_headers/content_disposition.rs +++ b/crates/ruma-common/src/http_headers/content_disposition.rs @@ -6,6 +6,7 @@ use http::header::{HeaderValue, InvalidHeaderValue}; use ruma_macros::{ AsRefStr, AsStrAsRefStr, DebugAsRefStr, DisplayAsRefStr, OrdAsRefStr, PartialOrdAsRefStr, }; +use serde::{Serialize, Serializer}; use super::{ is_tchar, is_token, quote_ascii_string_if_required, rfc8187, sanitize_for_ascii_quoted_string, @@ -71,6 +72,12 @@ impl fmt::Display for ContentDisposition { } } +impl Serialize for ContentDisposition { + fn serialize(&self, s: S) -> Result { + s.serialize_str(self.to_string().as_str()) + } +} + impl TryFrom<&ContentDisposition> for HeaderValue { type Error = InvalidHeaderValue;