Skip to content

Commit f99d4c4

Browse files
committed
1 parent 8f3185f commit f99d4c4

File tree

4 files changed

+47
-1
lines changed

4 files changed

+47
-1
lines changed

HISTORY.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
unreleased
2+
==========
3+
4+
5+
- Add `lastMofified` option
6+
- Use `etag` to generate `ETag` header
7+
- deps: debug@~2.0.0
8+
19
1.5.4 / 2014-09-04
210
==================
311

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,11 @@ By default this module will send "index.html" files in response to a request
6161
on a directory. To disable this set `false` or to supply a new index pass a
6262
string or an array in preferred order.
6363

64+
##### lastMofified
65+
66+
Enable or disable `Last-Modified` header, defaults to true. Uses the file
67+
system's last modified value.
68+
6469
##### maxAge
6570

6671
Provide a max-age in milliseconds for http caching, defaults to 0. This

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"dependencies": {
99
"escape-html": "1.0.1",
1010
"parseurl": "~1.3.0",
11-
"send": "0.8.5",
11+
"send": "0.9.0",
1212
"utils-merge": "1.0.0"
1313
},
1414
"devDependencies": {

test/test.js

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,13 @@ describe('serveStatic()', function(){
3939
.expect(200, done);
4040
});
4141

42+
it('should set Last-Modified', function(done){
43+
request(server)
44+
.get('/todo.txt')
45+
.expect('Last-Modified', /\d{2} \w{3} \d{4}/)
46+
.expect(200, done)
47+
})
48+
4249
it('should default max-age=0', function(done){
4350
request(server)
4451
.get('/todo.txt')
@@ -179,6 +186,32 @@ describe('serveStatic()', function(){
179186
})
180187
})
181188

189+
describe('lastModified', function(){
190+
describe('when false', function () {
191+
it('should not include Last-Modifed', function (done) {
192+
request(createServer(fixtures, {'lastModified': false}))
193+
.get('/nums')
194+
.expect(200, '123456789', function (err, res) {
195+
if (err) return done(err)
196+
res.headers.should.not.have.property('last-modified')
197+
done()
198+
})
199+
})
200+
})
201+
202+
describe('when true', function () {
203+
it('should include Last-Modifed', function (done) {
204+
request(createServer(fixtures, {'lastModified': true}))
205+
.get('/nums')
206+
.expect(200, '123456789', function (err, res) {
207+
if (err) return done(err)
208+
res.headers.should.have.property('last-modified')
209+
done()
210+
})
211+
})
212+
})
213+
})
214+
182215
describe('maxAge', function(){
183216
it('should accept string', function(done){
184217
request(createServer(fixtures, {'maxAge': '30d'}))

0 commit comments

Comments
 (0)