Skip to content

Commit fba72c4

Browse files
committed
feat(middleware) no cache by default, enable using cache opt, Fix #15
1 parent 20423ad commit fba72c4

File tree

3 files changed

+21
-7
lines changed

3 files changed

+21
-7
lines changed

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ Enable log for requests, default `false`.
3737

3838
Map pathname for debug. e.g. `paths: [['/a/b/c/', '']]`
3939

40+
### cache
41+
42+
Enable 304 cache.
43+
4044
## LICENSE
4145

4246
Copyright (c) 2014 sorrycc. Licensed under the MIT license.

lib/koa.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,14 @@ module.exports = function(root, opts) {
5858
return yield* next;
5959
}
6060

61-
var modifiedTime = util.getModifiedTime(file);
62-
this.set('Last-Modified', modifiedTime);
63-
if (!util.isModified(this.header, modifiedTime)) {
64-
debug('file %s is not modified', file.path);
65-
this.status = 304;
66-
return;
61+
if (opts.cache) {
62+
var modifiedTime = util.getModifiedTime(file);
63+
this.set('Last-Modified', modifiedTime);
64+
if (!util.isModified(this.header, modifiedTime)) {
65+
debug('file %s is not modified', file.path);
66+
this.status = 304;
67+
return;
68+
}
6769
}
6870

6971
log('>> ServeSPM %s < ./%s',

test/index.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -365,11 +365,19 @@ function wrap(server, middleware) {
365365
});
366366
});
367367

368-
it('isModified', function(done) {
368+
it('isModified disable', function(done) {
369369
app = server();
370370
app.use(middleware(join(fixtures, 'parser')));
371371
request(app.listen())
372372
.get('/index.js')
373+
.expect(200, done);
374+
});
375+
376+
it('isModified enable', function(done) {
377+
app = server();
378+
app.use(middleware(join(fixtures, 'parser'), {cache:true}));
379+
request(app.listen())
380+
.get('/index.js')
373381
.set('if-modified-since', '2046 8-14 13:52:38')
374382
.expect(304, done);
375383
});

0 commit comments

Comments
 (0)