UNPKG

@documentica/webdav

Version:
43 lines (42 loc) 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const createWebdavRequest_1 = require("../createWebdavRequest"); const utils_1 = require("../utils"); function propFind({ config, path, properties, depth, success, fail, headers, include }) { const props = properties || ["allprop"]; var propsBody = `<?xml version="1.0" encoding="UTF-8"?> <d:propfind xmlns:d="DAV:"> ${props[0] == "allprop" ? "<d:allprop/>" : props[0] == "propname" ? "<d:propname/>" : ` <d:prop> ${props.map(i => "<d:" + i + "/>").join("\n")} </d:prop>`} ${props[0] == "allprop" && include ? ` <d:include> ${include.map(i => "<d:" + i + "/>").join("\n")} </d:include> ` : ""} </d:propfind> `; createWebdavRequest_1.createWebdavRequest({ config, method: 'PROPFIND', path, multistatus: true, responseType: 'xml', success: function (status, body) { const items = utils_1.multiStatusToPropfindResponse(body, config); if (depth != "0") { let [root, ...rest] = items; success(rest, root); } else { success(items); } }, fail, headers: Object.assign({ Depth: depth || "0" }, headers), body: propsBody }); } exports.default = propFind;