serve webdav: fix incorrect Content-Type immediately after upload
Before this change, if the Content-Type for an object was read
immediately after upload (before the object had been uploaded to the
backing store) then the Content-Type would be returned incorrectly.
This error would be more likely with `--vfs-cache-mode full` and
`writes` but may have been possible with the other
`--vfs-cache-mode`s.
This fixes the problem by always returning a sensible guess at the
content type - the same guess we would use for uploading the object.
filter: Fix incorrect filtering with UseFilter context flag and wrapping backends
In this commit
8d1fff9a8237c64f local: obey file filters in listing to fix errors on excluded files
We started using filters in the local backend so the user could short
circuit troublesome files/directories at a low level.
However this caused a number of integration tests to fail. This turned
out to be in backends wrapping the local backend. For example the
combine backend test failed because it changes the paths passed to the
local backend so they no longer match the paths in the current filter.
To fix this, a new feature flag `FilterAware` was added and the
UseFilter context flag is only passed to backends which support it. As
the wrapping backends don't support the flag, this fixes the problems
in the integration tests.
In future the wrapping backends could modify the active filters to
match the path modifications and then they could set the FilterAware
flag.