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.
Sync app has crashed on a user's instance, here are the logs:
TypeError: string is not a function
at Object.module.exports.jsDAV_Collection.extend.createFile (/usr/local/cozy/apps/sync/node_modules/jsDAV/lib/CardDAV/userAddressBooks.js:96:9)
at /usr/local/cozy/apps/sync/node_modules/jsDAV/lib/DAV/handler.js:2306:40
at readDone (/usr/local/cozy/apps/sync/node_modules/jsDAV/lib/DAV/handler.js:1334:13)
at /usr/local/cozy/apps/sync/node_modules/jsDAV/lib/DAV/handler.js:1298:25
at Object.req.streambuffer.onend (/usr/local/cozy/apps/sync/node_modules/jsDAV/lib/shared/util.js:850:17)
at getRequestBody (/usr/local/cozy/apps/sync/node_modules/jsDAV/lib/DAV/handler.js:1280:30)
at /usr/local/cozy/apps/sync/node_modules/jsDAV/lib/DAV/handler.js:2302:34
at /usr/local/cozy/apps/sync/node_modules/jsDAV/lib/shared/asyncEvents.js:75:13
at handler (/usr/local/cozy/apps/sync/node_modules/jsDAV/node_modules/asyncjs/lib/async.js:371:33)
at handler (/usr/local/cozy/apps/sync/node_modules/jsDAV/node_modules/asyncjs/lib/async.js:146:21)
Sync app has crashed on a user's instance, here are the logs: