webdav: workarounds for biz.mail.ru

* Add "Depth: 1" on read metadata PROPFIND call
  * Accept 406 to mean directory already exists
This commit is contained in:
Nick Craig-Wood 2018-05-10 15:03:04 +01:00
parent b07e51cf73
commit d85b9bc9d6

View File

@ -179,6 +179,9 @@ func (f *Fs) readMetaDataForPath(path string) (info *api.Prop, err error) {
opts := rest.Opts{
Method: "PROPFIND",
Path: f.filePath(path),
ExtraHeaders: map[string]string{
"Depth": "1",
},
}
var result api.Multistatus
var resp *http.Response
@ -563,7 +566,7 @@ func (f *Fs) mkdir(dirPath string) error {
})
if apiErr, ok := err.(*api.Error); ok {
// already exists
if apiErr.StatusCode == http.StatusMethodNotAllowed {
if apiErr.StatusCode == http.StatusMethodNotAllowed || apiErr.StatusCode == http.StatusNotAcceptable {
return nil
}
// parent does not exists