diff --git a/crates/carddav/src/address_object/methods.rs b/crates/carddav/src/address_object/methods.rs index 5f6792f..25a40ee 100644 --- a/crates/carddav/src/address_object/methods.rs +++ b/crates/carddav/src/address_object/methods.rs @@ -46,7 +46,7 @@ pub async fn get_object( Ok(HttpResponse::Ok() .insert_header(("ETag", object.get_etag())) - .insert_header(("Content-Type", "text/calendar")) + .insert_header(("Content-Type", "text/vcard")) .body(object.get_vcf().to_owned())) } diff --git a/crates/carddav/src/address_object/resource.rs b/crates/carddav/src/address_object/resource.rs index e75a61a..7f10749 100644 --- a/crates/carddav/src/address_object/resource.rs +++ b/crates/carddav/src/address_object/resource.rs @@ -66,7 +66,7 @@ impl Resource for AddressObjectResource { AddressObjectProp::AddressData(self.0.get_vcf().to_owned()) } AddressObjectPropName::Getcontenttype => { - AddressObjectProp::Getcontenttype("text/calendar;charset=utf-8".to_owned()) + AddressObjectProp::Getcontenttype("text/vcard;charset=utf-8".to_owned()) } }) } @@ -91,7 +91,7 @@ impl<'de> Deserialize<'de> for AddressObjectPathComponents { { type Inner = (String, String, String); let (principal, calendar, mut object) = Inner::deserialize(deserializer)?; - if object.ends_with(".ics") { + if object.ends_with(".vcf") { object.truncate(object.len() - 4); } Ok(Self {