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.6.0 to 0.7.0

test/specs/index.js

5

CHANGELOG.md
# WebDAV-client changelog
## 0.7.0
_2017-06-03_
* Remove lodash (performance improvement)
## 0.6.0

@@ -4,0 +9,0 @@ _2017-04-13_

5

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

@@ -8,3 +8,3 @@ "main": "source/index.js",

"generate:docs": "jsdoc2md 'source/**/*.js' > API.md",
"test": "find ./test/specs -name '*.spec.js' | xargs mocha -R spec"
"test": "mocha -r test/specs/index.js test/specs/**/*.spec.js"
},

@@ -29,3 +29,2 @@ "repository": {

"deepmerge": "^1.3.1",
"lodash": "^4.17.4",
"node-fetch": "^1.6.3",

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

51

source/adapter/parse.js
var path = require("path");
var _ = require("lodash");
_.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;
function getOne(object, keys) {
for (var i = 0, numKeys = keys.length; i < numKeys; i += 1) {
try {
var key = keys[i].split("."),
current = object;
while (key.length > 0) {
var keypart = key.shift(),
prop = /^\d+$/.test(keypart) ?
parseInt(keypart, 10) :
keypart;
current = current[prop];
}
if (current !== undefined) {
return current;
}
} catch (err) {
// ignore
}
return undefined;
}
});
return undefined;
}

@@ -45,9 +50,9 @@ function filterItemsByDepth(items) {

try {
var multistatus = _.getOne(dirResult, ["d:multistatus", "D:multistatus", "multistatus"]);
responseItems = _.getOne(multistatus, ["d:response", "D:response", "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 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"]))),
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

@@ -63,3 +68,3 @@ .split("/")

).trim(),
resourceType = processXMLStringValue(_.getOne(props, ["lp1:resourcetype", "d:resourcetype", "D:resourcetype", "resourcetype"])),
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) ?

@@ -78,8 +83,8 @@ "directory" : "file";

basename: path.basename(filename),
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),
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(_.getOne(props, ["d:getcontenttype", "D:getcontenttype", "getcontenttype"]));
mime = processXMLStringValue(getOne(props, ["d:getcontenttype", "D:getcontenttype", "getcontenttype"]));
if (mime) {

@@ -132,4 +137,6 @@ item.mime = parseMIME(mime);

getOne: getOne,
parseDirectoryLookup: processDirectoryResult
};

@@ -9,4 +9,2 @@ var path = require("path"),

var expect = require("chai").expect;
var createServer = require(__dirname + "/../resources/webdav-server.js"),

@@ -13,0 +11,0 @@ alterAdapter = require(__dirname + "/../../source/adapter/alter.js");

@@ -7,4 +7,2 @@ var path = require("path");

var expect = require("chai").expect;
var createServer = require("../resources/webdav-server.js"),

@@ -11,0 +9,0 @@ getAdapter = require("../../source/adapter/get.js"),

@@ -8,4 +8,2 @@ var path = require("path"),

var expect = require("chai").expect;
var createServer = require(__dirname + "/../resources/webdav-server.js"),

@@ -12,0 +10,0 @@ putAdapter = require(__dirname + "/../../source/adapter/put.js");

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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