fix(webdav): error code for missing parent in mkcol should be `409` instead of `404` (#2953)

pull/2978/head
Aaron Liu 2 months ago
parent 46897e2880
commit e29237d593

@ -212,7 +212,13 @@ func handleMkcol(c *gin.Context, user *ent.User, fm manager.FileManager) (status
_, err = fm.Create(ctx, uri, types.FileTypeFolder, dbfs.WithNoChainedCreation(), dbfs.WithErrorOnConflict())
if err != nil {
return purposeStatusCodeFromError(err), err
code := purposeStatusCodeFromError(err)
if code == http.StatusNotFound {
// When the MKCOL operation creates a new collection resource, all ancestors MUST already exist,
// or the method MUST fail with a 409 (Conflict) status code.
return http.StatusConflict, err
}
return code, err
}
return http.StatusCreated, nil

Loading…
Cancel
Save