Skip to content

Commit 3ae7c5b

Browse files
committed
Merge pull request typicode#22 from manuquentin/add_list_count
[RFR] Add total count when slicing collection
2 parents f31e202 + daf3da7 commit 3ae7c5b

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

src/routes.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@ routes.list = function(req, res, next) {
5252
}
5353

5454
if (_start) {
55+
res.setHeader('X-Count', resource.length)
56+
res.setHeader('Access-Control-Expose-Headers', 'X-Count')
57+
5558
resource = resource.slice(_start, _end)
5659
}
5760

@@ -72,7 +75,7 @@ routes.create = function(req, res, next) {
7275
for (var key in req.body) {
7376
req.body[key] = utils.toNative(req.body[key])
7477
}
75-
78+
7679
var resource = low(req.params.resource)
7780
.insert(req.body)
7881
.value()
@@ -90,14 +93,14 @@ routes.update = function(req, res, next) {
9093
var resource = low(req.params.resource)
9194
.update(+req.params.id, req.body)
9295
.value()
93-
96+
9497
res.jsonp(resource)
9598
}
9699

97100
// DELETE /:resource/:id
98101
routes.destroy = function(req, res, next) {
99102
low(req.params.resource).remove(+req.params.id)
100-
103+
101104
// Remove dependents documents
102105
var removable = utils.getRemovable(low.db)
103106

test/server.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,11 @@ describe('Server', function() {
9393
.get('/comments?_start=1&_end=2')
9494
.expect('Content-Type', /json/)
9595
.expect(low.db.comments.slice(1, 2))
96-
.expect(200, done)
96+
.expect(200)
97+
.end(function(err, res){
98+
assert.equal(res.headers['x-count'], 5)
99+
done()
100+
})
97101
})
98102
})
99103

0 commit comments

Comments
 (0)