Skip to content

Commit

Permalink
Merge pull request #95 from nymag/fix-db-list
Browse files Browse the repository at this point in the history
fix db failure when list is requested multiple times
  • Loading branch information
TakenPilot committed Jul 7, 2015
2 parents 20f9507 + 8bef180 commit ba84e49
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 12 deletions.
16 changes: 8 additions & 8 deletions lib/responses.js
Original file line number Diff line number Diff line change
Expand Up @@ -306,14 +306,14 @@ function expectHTML(fn, res) {
* options.filters: array
*/
function list(options) {
options = options || {};

return function (req, res) {
var listOptions = _.defaults(options || {}, {
var list,
listOptions = _.assign({
prefix: normalizePath(req.baseUrl + req.url),
values: false
}),
list = db.list(listOptions);
}, options);

list = db.list(listOptions);

res.set('Content-Type', 'application/json');
list.pipe(res);
Expand All @@ -325,9 +325,9 @@ function list(options) {
*/
function listWithoutVersions() {
var options = {
transforms: [filter({wantStrings: true}, function (str) {
return str.indexOf('@') === -1;
})]
transforms: function () {
return [filter({wantStrings: true}, function (str) { return str.indexOf('@') === -1; })];
}
};
return list(options);
}
Expand Down
15 changes: 11 additions & 4 deletions lib/services/db.js
Original file line number Diff line number Diff line change
Expand Up @@ -106,11 +106,18 @@ module.exports.list = function (options) {
transformOptions.isArray = true;
}

// apply all transforms
readStream = db.createReadStream(options);
readStream = _.reduce(options.transforms, function (readStream, transform) {
return readStream.pipe(transform);
}, readStream);

if (_.isFunction(options.transforms)) {
options.transforms = options.transforms();
}

// apply all transforms
if (options.transforms) {
readStream = _.reduce(options.transforms, function (readStream, transform) {
return readStream.pipe(transform);
}, readStream);
}

return readStream.pipe(jsonTransform(transformOptions));
};
Expand Down

0 comments on commit ba84e49

Please sign in to comment.