Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DAV Client discards any item in a PROPFIND response that has an other status than 200 #1517

Closed
individual-it opened this issue Nov 23, 2023 · 4 comments
Assignees

Comments

@individual-it
Copy link

If a server responds to a PROPFIND request with a multistatus response and some items have a non 200 status they will be discarded in the return of propFind()
Caused by these lines https://github.com/sabre-io/dav/blob/master/lib/DAV/Client.php#L242-L247

The behaiviour is generally OK, but oncloud/ocis uses the 425 response code if a file was uploaded but is asynchronously processed, e.g. for antivirus checks.

What about providing propFind() a list of accepted status codes? In our case it would be [200, 425].

I'm happy to provide a PR

@DeepDiver1975
Copy link
Member

Question is why the client is discarding props at all.
A server for sure adds these props on purpose and any client should access those.

@individual-it
Copy link
Author

returning all props regardless of the status, would also fit our purpose, the status just should be included in the returned data, then the client can deal with it as it wish.

@DeepDiver1975
Copy link
Member

yeah - the status is filtered out in the client .....

In terms of not breaking backwards compat I'd go for a second propfind implementation which is basically returning the parsed xml plainly ...

@phil-davis phil-davis self-assigned this Nov 24, 2023
@phil-davis
Copy link
Contributor

New client propFindUnfiltered is provided in https://github.com/sabre-io/dav/releases/tag/4.6.0

See PR #1519 and #1526

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants