Make sure collections have trailing slashes (py-caldav is very pedantic about that)

This commit is contained in:
Lennart
2025-06-09 22:23:01 +02:00
parent fc590976bc
commit 6d6f8f20df
13 changed files with 18 additions and 4 deletions

View File

@@ -50,6 +50,7 @@ impl<C: CalendarStore, S: SubscriptionStore> ResourceService for CalendarResourc
type PrincipalUri = CalDavPrincipalUri;
const DAV_HEADER: &str = "1, 3, access-control, calendar-access";
const IS_COLLECTION: bool = true;
async fn get_resource(
&self,

View File

@@ -50,6 +50,7 @@ impl<C: CalendarStore> ResourceService for CalendarObjectResourceService<C> {
type PrincipalUri = CalDavPrincipalUri;
const DAV_HEADER: &str = "1, 3, access-control, calendar-access";
const IS_COLLECTION: bool = false;
async fn get_resource(
&self,

View File

@@ -45,6 +45,7 @@ impl<C: CalendarStore, S: SubscriptionStore> ResourceService for CalendarSetReso
type PrincipalUri = CalDavPrincipalUri;
const DAV_HEADER: &str = "1, 3, access-control, extended-mkcol, calendar-access";
const IS_COLLECTION: bool = true;
async fn get_resource(
&self,

View File

@@ -24,7 +24,7 @@ pub struct CalDavPrincipalUri(&'static str);
impl PrincipalUri for CalDavPrincipalUri {
fn principal_uri(&self, principal: &str) -> String {
format!("{}/principal/{}", self.0, principal)
format!("{}/principal/{}/", self.0, principal)
}
}

View File

@@ -48,7 +48,7 @@ impl Resource for PrincipalResource {
.map(|principal| puri.principal_uri(principal))
.flat_map(|principal_url| {
self.home_set.iter().map(move |&home_name| {
HrefElement::new(format!("{}/{}", &principal_url, home_name))
HrefElement::new(format!("{}{}/", &principal_url, home_name))
})
})
.collect(),

View File

@@ -46,6 +46,7 @@ impl<AP: AuthenticationProvider, S: SubscriptionStore, CS: CalendarStore, BS: Ca
type PrincipalUri = CalDavPrincipalUri;
const DAV_HEADER: &str = "1, 3, access-control, calendar-access";
const IS_COLLECTION: bool = true;
async fn get_resource(
&self,