Skip to content

Commit daf3da7

Browse files
committed
Add X-Count header when slicing collection
1 parent 96f2112 commit daf3da7

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

src/routes.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ routes.list = function(req, res, next) {
3636
}
3737

3838
if (_start) {
39+
res.setHeader('X-Count', resource.length)
40+
res.setHeader('Access-Control-Expose-Headers', 'X-Count')
41+
3942
resource = resource.slice(_start, _end)
4043
}
4144

@@ -56,7 +59,7 @@ routes.create = function(req, res, next) {
5659
for (var key in req.body) {
5760
req.body[key] = utils.toNative(req.body[key])
5861
}
59-
62+
6063
var resource = low(req.params.resource)
6164
.insert(req.body)
6265
.value()
@@ -74,14 +77,14 @@ routes.update = function(req, res, next) {
7477
var resource = low(req.params.resource)
7578
.update(+req.params.id, req.body)
7679
.value()
77-
80+
7881
res.jsonp(resource)
7982
}
8083

8184
// DELETE /:resource/:id
8285
routes.destroy = function(req, res, next) {
8386
low(req.params.resource).remove(+req.params.id)
84-
87+
8588
// Remove dependents documents
8689
var removable = utils.getRemovable(low.db)
8790

@@ -92,4 +95,4 @@ routes.destroy = function(req, res, next) {
9295
res.send(204)
9396
}
9497

95-
module.exports = routes
98+
module.exports = routes

test/server.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,11 @@ describe('Server', function() {
6161
.get('/comments?_start=1&_end=2')
6262
.expect('Content-Type', /json/)
6363
.expect(low.db.comments.slice(1, 2))
64-
.expect(200, done)
64+
.expect(200)
65+
.end(function(err, res){
66+
assert.equal(res.headers['x-count'], 5)
67+
done()
68+
})
6569
})
6670
})
6771

@@ -171,4 +175,4 @@ describe('Server', function() {
171175
});
172176

173177
})
174-
})
178+
})

0 commit comments

Comments
 (0)