DAV doesn't seem to be available as a top-level protocol (as in open
webdav:server/path), I'm presuming that lftp attempts to use DAV
extensions on any HTTP server which it communicates with (or perhaps on
any server where it finds header information suggesting DAV to be enabled?).
What's unfortunate in my case is that a HEAD request is attempted prior
to anything else -- so in the case of a server which accepts PROPFIND
and other actual DAV operations but not HEAD (or GET for that matter),
lftp is artificially unable to communicate, while cadaver and
Microsoft's WebDAV client have no issue.
At least a few possible changes in behavior strike me as available:
- If a HEAD request is rejected by the server with a 401, try a PROPFIND
immediately after, before declaring defeat.
- Allow the URL to specify that a URL is WebDAV rather than plain HTTP,
and in this event go straight to PROPFIND.
Thoughts?