New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

webdav

Package Overview
Dependencies
Maintainers
1
Versions
101
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

webdav - npm Package Compare versions

Comparing version 0.5.0 to 0.6.0

6

CHANGELOG.md
# WebDAV-client changelog
## 0.6.0
_2017-04-13_
* Support for non-prefixed XML elements in WebDAV response
* HTTP status code for thrown exceptions
## 0.5.0

@@ -4,0 +10,0 @@ _2017-02-11_

4

package.json
{
"name": "webdav",
"version": "0.5.0",
"version": "0.6.0",
"description": "WebDAV client for NodeJS",

@@ -27,4 +27,4 @@ "main": "source/index.js",

"dependencies": {
"brototype": "0.0.5",
"deepmerge": "^1.3.1",
"lodash": "^4.17.4",
"node-fetch": "^1.6.3",

@@ -31,0 +31,0 @@ "xml2js": "^0.4.17"

var path = require("path");
var _ = require("lodash");
var Bro = require("../brototype.js"),
urlTools = require("../url.js");
_.mixin({
getOne: function(object, keys) {
var val,
keysLen = keys.length;
for (var i = 0; i < keysLen; i += 1) {
val = _.get(object, keys[i]);
if (val !== undefined) {
return val;
}
}
return undefined;
}
});
function filterItemsByDepth(items) {

@@ -26,4 +40,3 @@ var highestDepth = 0;

var items = [],
responseItems = [],
dirResultBro = Bro(dirResult);
responseItems = [];
if (targetOnly === undefined) {

@@ -33,11 +46,9 @@ targetOnly = false;

try {
var multistatus = dirResultBro.iCanHaz1("d:multistatus", "D:multistatus");
responseItems = Bro(multistatus).iCanHaz1("d:response", "D:response") || [];
var multistatus = _.getOne(dirResult, ["d:multistatus", "D:multistatus", "multistatus"]);
responseItems = _.getOne(multistatus, ["d:response", "D:response", "response"]) || [];
} catch (e) {}
responseItems.forEach(function(responseItem) {
var responseBro = Bro(responseItem),
propstatBro = Bro(responseBro.iCanHaz1("d:propstat.0", "D:propstat.0")),
props = propstatBro.iCanHaz1("d:prop.0", "D:prop.0"),
propsBro = Bro(props);
var sanitisedFilePath = decodeURIComponent(processXMLStringValue(responseBro.iCanHaz1("d:href", "D:href"))),
var propstat = _.getOne(responseItem, ["d:propstat.0", "D:propstat.0", "propstat.0"]),
props = _.getOne(propstat, ["d:prop.0", "D:prop.0", "prop.0"]);
var sanitisedFilePath = decodeURIComponent(processXMLStringValue(_.getOne(responseItem, ["d:href", "D:href", "href"]))),
serverDepth = sanitisedFilePath

@@ -49,3 +60,2 @@ .split("/")

.length;
// console.log(JSON.stringify(props, undefined, 4));
var filename = processDirectoryResultFilename(

@@ -55,4 +65,4 @@ dirPath,

).trim(),
resourceType = processXMLStringValue(propsBro.iCanHaz1("lp1:resourcetype", "d:resourcetype", "D:resourcetype")),
itemType = (resourceType.indexOf("d:collection") >= 0 || resourceType.indexOf("D:collection") >= 0) ?
resourceType = processXMLStringValue(_.getOne(props, ["lp1:resourcetype", "d:resourcetype", "D:resourcetype", "resourcetype"])),
itemType = (resourceType.indexOf("d:collection") >= 0 || resourceType.indexOf("D:collection") >= 0 || resourceType.indexOf("collection") >= 0) ?
"directory" : "file";

@@ -70,8 +80,8 @@ if (filename.length <= 0) {

basename: path.basename(filename),
lastmod: processXMLStringValue(propsBro.iCanHaz1("lp1:getlastmodified", "d:getlastmodified", "D:getlastmodified")),
size: parseInt(processXMLStringValue(propsBro.iCanHaz1("lp1:getcontentlength", "d:getcontentlength", "D:getcontentlength")) || "0", 10),
lastmod: processXMLStringValue(_.getOne(props, ["lp1:getlastmodified", "d:getlastmodified", "D:getlastmodified", "getlastmodified"])),
size: parseInt(processXMLStringValue(_.getOne(props, ["lp1:getcontentlength", "d:getcontentlength", "D:getcontentlength", "getcontentlength"])) || "0", 10),
type: itemType,
_depth: serverDepth
},
mime = processXMLStringValue(propsBro.iCanHaz1("d:getcontenttype", "D:getcontenttype"));
mime = processXMLStringValue(_.getOne(props, ["d:getcontenttype", "D:getcontenttype", "getcontenttype"]));
if (mime) {

@@ -78,0 +88,0 @@ item.mime = parseMIME(mime);

@@ -6,3 +6,5 @@ module.exports = {

if (status >= 400) {
throw new Error("Invalid response: " + status + " " + response.statusText);
var err = new Error("Invalid response: " + status + " " + response.statusText);
err.status = status;
throw err;
}

@@ -9,0 +11,0 @@ return response;

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc