jsDAV allows you to easily add WebDAV support to a NodeJS application. jsDAV is meant to cover the entire standard, and attempts to allow integration using an easy to understand API.
It seems validations missing caught special cases
You can refer on lib/DAV/handler.js, then find "this.getCopyAndMoveInfo = function(cbcopymove) {"
to add more validation
MOVE
ing a resource to itself results in the corresponding file being deleted:Similarly,
MOVE
ing a nonexistent resource to an existing resource deletes the latter:That seems undesirable as it leads to unexpected data loss.
This is how I start my jsDAV server: