🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

feedr

Package Overview
Dependencies
Maintainers
1
Versions
57
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

feedr - npm Package Compare versions

Comparing version

to
2.10.3

138

out/lib/feedr.js

@@ -69,3 +69,3 @@ // Generated by CoffeeScript 1.7.1

Feedr.prototype.readFeeds = function() {
var arg, args, defaultfeed, failures, feedr, feeds, index, isArray, next, result, tasks, _i, _len;
var arg, args, defaultfeed, failures, feedr, feeds, index, next, result, tasks, _i, _len;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];

@@ -94,4 +94,3 @@ feedr = this;

}
isArray = typeChecker.isArray(feeds);
result = isArray ? [] : {};
result = {};
tasks = TaskGroup.create({

@@ -101,3 +100,3 @@ concurrency: 0,

}).done(function() {
var err, message;
var err, feed, message;
message = 'Feedr finished fetching';

@@ -113,2 +112,13 @@ if (failures.length !== 0) {

}
if (typeChecker.isArray(feeds)) {
result = (function() {
var _j, _len1, _results;
_results = [];
for (index = _j = 0, _len1 = feeds.length; _j < _len1; index = ++_j) {
feed = feeds[index];
_results.push(result[index]);
}
return _results;
})();
}
return next(err, result);

@@ -129,7 +139,3 @@ });

} else {
if (isArray) {
result.push(data);
} else {
result[index] = data;
}
result[index] = data;
}

@@ -200,3 +206,3 @@ return complete(err);

Feedr.prototype.readFeed = function() {
var arg, args, checkResponse, feed, feedPlugins, feedr, invalidCheckError, invalidParseError, next, noUrlError, parseResponse, plugins, readFile, readMetaFile, requestOptions, url, viaCache, viaRequest, writeFeed, _i, _len, _ref, _ref1, _ref2;
var arg, args, checkResponse, feed, feedr, generateChecker, generateParser, invalidCheckError, invalidParseError, next, noUrlError, parseResponse, plugins, readFile, readMetaFile, requestOptions, url, viaCache, viaRequest, writeFeed, _i, _len, _ref, _ref1, _ref2, _ref3;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];

@@ -230,8 +236,4 @@ feedr = this;

plugins = {};
feedPlugins = ((_ref = feed.plugins) != null ? _ref : plugins) || [];
if (typeof feedPlugins === 'string') {
feedPlugins = [feedPlugins];
}
if (Array.isArray(feedPlugins)) {
feedPlugins.forEach(function(name, index) {
if ((_ref = feed.plugins) != null ? _ref.length : void 0) {
feed.plugins.forEach(function(name, index) {
var err;

@@ -249,14 +251,36 @@ try {

}
if (feed.parse === 'function') {
parseResponse = function(opts, parseComplete) {
return feed.parse(opts, function(err, data) {
if (err) {
return parseComplete(err);
}
if (data != null) {
opts.data;
}
return parseComplete();
});
};
generateParser = function(name, method, opts, next) {
feedr.log('debug', "Feedr parse [" + feed.url + "] with " + name + " attempt");
return method(opts, function(err, data) {
if (err) {
return next(err);
}
if (data) {
feedr.log('debug', "Feedr parse [" + feed.url + "] with " + name + " attempt, used");
opts.data = data;
} else {
feedr.log('debug', "Feedr parse [" + feed.url + "] with " + name + " attempt, ignored");
}
return next(null, data);
});
};
generateChecker = function(name, method, opts, next) {
feedr.log('debug', "Feedr check [" + feed.url + "] with " + name + " attempt");
return method(opts, function(err) {
if (err) {
return next(err);
}
feedr.log('debug', "Feedr check [" + feed.url + "] with " + name + " attempt, success");
return next(null, data);
});
};
if (typeof feed.parse === 'string') {
if (typeof ((_ref1 = plugins[feed.parse]) != null ? _ref1.parse : void 0) === 'function') {
parseResponse = generateParser.bind(null, feed.parse, plugins[feed.parse].parse);
} else {
invalidParseError = new Error('Invalid parse value: ' + feed.parse);
return next(invalidParseError);
}
} else if (typeof feed.parse === 'function') {
parseResponse = generateParser.bind(null, 'custom', feed.parse);
} else if (feed.parse === true) {

@@ -269,12 +293,7 @@ parseResponse = function(opts, parseComplete) {

return checkTasks.addTask(function(parseTaskComplete) {
return value.parse(opts, function(err, data) {
if (err) {
return parseTaskComplete(err);
}
if (data != null) {
feedr.log('debug', "Feedr parsed [" + feed.url + "] with " + key);
opts.data = data;
return generateParser.bind(null, key, value.parse)(opts, function(err, data) {
if (data) {
checkTasks.clear();
}
return parseTaskComplete();
return parseTaskComplete(err);
});

@@ -286,5 +305,2 @@ });

};
} else if (feed.parse && typeof ((_ref1 = plugins[feed.parse]) != null ? _ref1.parse : void 0) !== 'function') {
invalidParseError = new Error('Invalid parse value: ' + feed.parse);
return next(invalidParseError);
} else {

@@ -295,4 +311,11 @@ parseResponse = function(opts, parseComplete) {

}
if (feed.check === 'function') {
checkResponse = feed.check;
if (typeof feed.check === 'string') {
if (typeof ((_ref2 = plugins[feed.check]) != null ? _ref2.check : void 0) === 'function') {
checkResponse = generateChecker.bind(null, feed.check, (_ref3 = plugins[feed.check]) != null ? _ref3.check : void 0);
} else {
invalidCheckError = new Error('Invalid check value: ' + feed.check);
return next(invalidCheckError);
}
} else if (typeof feed.check === 'function') {
checkResponse = generateChecker.bind(null, 'custom', feed.check);
} else if (feed.check === true) {

@@ -305,3 +328,3 @@ checkResponse = function(opts, checkComplete) {

return checkTasks.addTask(function(checkTaskComplete) {
return value.check(opts, checkTaskComplete);
return generateChecker.bind(null, key, value.check)(opts, checkTaskComplete);
});

@@ -312,5 +335,2 @@ }

};
} else if (feed.check && typeof ((_ref2 = plugins[feed.check]) != null ? _ref2.check : void 0) !== 'function') {
invalidCheckError = new Error('Invalid check value: ' + feed.check);
return next(invalidCheckError);
} else {

@@ -337,3 +357,3 @@ checkResponse = function(opts, checkComplete) {

feedr.log('debug', "Feedr is reading [" + feed.url + "] on [" + path + "], it exists, now reading");
return safefs.readFile(path, function(err, rawData) {
return safefs.readFile(path, null, function(err, rawData) {
if (err) {

@@ -384,3 +404,6 @@ feedr.log('debug', "Feedr is reading [" + feed.url + "] on [" + path + "], it exists, read failed", err.stack);

var writeData;
writeData = JSON.stringify(response.headers, null, ' ');
writeData = JSON.stringify({
headers: response.headers,
parse: feed.parse
}, null, ' ');
return safefs.writeFile(feed.metaPath, writeData, writeTaskComplete);

@@ -404,6 +427,4 @@ });

data = null;
readTasks = TaskGroup.create({
concurrency: 0
}).done(function(err) {
return viaCacheComplete(err, data, meta);
readTasks = TaskGroup.create().done(function(err) {
return viaCacheComplete(err, data, meta != null ? meta.headers : void 0);
});

@@ -424,3 +445,5 @@ readTasks.addTask('read the meta data in a cache somewhere', function(viaCacheTaskComplete) {

}
if (feed.parse) {
if (feed.parse === false || (feed.parse === true && meta.parse === false)) {
data = rawData;
} else {
try {

@@ -432,4 +455,2 @@ data = JSON.parse(rawData.toString());

}
} else {
data = rawData;
}

@@ -442,5 +463,5 @@ return viaCacheTaskComplete();

viaRequest = function(viaRequestComplete) {
var _base, _ref3;
var _base, _ref4;
feedr.log('debug', "Feedr is fetching [" + feed.url + "] to [" + feed.path + "], requesting");
if (feed.cache && ((_ref3 = feed.metaData) != null ? _ref3.etag : void 0)) {
if (feed.cache && ((_ref4 = feed.metaData) != null ? _ref4.etag : void 0)) {
if ((_base = requestOptions.headers)['If-None-Match'] == null) {

@@ -451,4 +472,3 @@ _base['If-None-Match'] = feed.metaData.etag;

return request(requestOptions, function(err, response, data) {
var handleError, meta, opts;
meta = requestOptions.headers;
var handleError, opts;
opts = {

@@ -484,3 +504,3 @@ feedr: feedr,

return writeFeed(response, opts.data, function(err) {
return viaRequestComplete(err, opts.data, meta);
return viaRequestComplete(err, opts.data, requestOptions.headers);
});

@@ -487,0 +507,0 @@ });

{
"title": "Feedr",
"name": "feedr",
"version": "2.10.2",
"description": "Use feedr to fetch a remote resource, respect its caching, and parse its data.",
"version": "2.10.3",
"description": "Use feedr to fetch the data from a remote url, respect its caching, and parse its data. Despite its name, it's not just for feed data but also for all data that you can feed into it (including binary data).",
"homepage": "https://github.com/bevry/feedr",

@@ -7,0 +7,0 @@ "license": {

@@ -25,3 +25,3 @@ <!-- TITLE/ -->

Use feedr to fetch a remote resource, respect its caching, and parse its data.
Use feedr to fetch the data from a remote url, respect its caching, and parse its data. Despite its name, it's not just for feed data but also for all data that you can feed into it (including binary data).

@@ -28,0 +28,0 @@ <!-- /DESCRIPTION -->