Fix bug with missing trailing slash in propfind response

This commit is contained in:
Lennart
2025-06-09 22:36:11 +02:00
parent 6d6f8f20df
commit 7628cdafbd
22 changed files with 32 additions and 22 deletions

View File

@@ -32,6 +32,8 @@ impl Resource for AddressObjectResource {
type Error = Error;
type Principal = User;
const IS_COLLECTION: bool = false;
fn get_resourcetype(&self) -> Resourcetype {
Resourcetype(&[])
}

View File

@@ -41,7 +41,6 @@ impl<AS: AddressbookStore> ResourceService for AddressObjectResourceService<AS>
type PrincipalUri = CardDavPrincipalUri;
const DAV_HEADER: &str = "1, 3, access-control, addressbook";
const IS_COLLECTION: bool = false;
async fn get_resource(
&self,

View File

@@ -80,7 +80,7 @@ pub async fn handle_addressbook_multiget<AS: AddressbookStore>(
object,
principal: principal.to_owned(),
}
.propfind_typed(&path, prop, puri, user)?,
.propfind(&path, prop, puri, user)?,
);
}

View File

@@ -39,7 +39,7 @@ pub async fn handle_sync_collection<AS: AddressbookStore>(
object,
principal: principal.to_owned(),
}
.propfind_typed(&path, &sync_collection.prop, puri, user)?,
.propfind(&path, &sync_collection.prop, puri, user)?,
);
}

View File

@@ -38,6 +38,8 @@ impl Resource for AddressbookResource {
type Error = Error;
type Principal = User;
const IS_COLLECTION: bool = true;
fn get_resourcetype(&self) -> Resourcetype {
Resourcetype(&[
ResourcetypeInner(Some(rustical_dav::namespace::NS_DAV), "collection"),

View File

@@ -52,7 +52,6 @@ impl<AS: AddressbookStore, S: SubscriptionStore> ResourceService
type PrincipalUri = CardDavPrincipalUri;
const DAV_HEADER: &str = "1, 3, access-control, addressbook";
const IS_COLLECTION: bool = true;
async fn get_resource(
&self,

View File

@@ -26,6 +26,8 @@ impl Resource for PrincipalResource {
type Error = Error;
type Principal = User;
const IS_COLLECTION: bool = true;
fn get_resourcetype(&self) -> Resourcetype {
Resourcetype(&[
ResourcetypeInner(Some(rustical_dav::namespace::NS_DAV), "collection"),

View File

@@ -55,7 +55,6 @@ impl<A: AddressbookStore, AP: AuthenticationProvider, S: SubscriptionStore> Reso
type PrincipalUri = CardDavPrincipalUri;
const DAV_HEADER: &str = "1, 3, access-control, addressbook";
const IS_COLLECTION: bool = true;
async fn get_resource(
&self,