Skip to content

Commit 7da9fb1

Browse files
Petr Pchelkojohngian
Petr Pchelko
authored andcommitted
Add content purge filter
* This filter can be added in case ALL content in a certain time range needs to be purged. * Fixes CI problems
1 parent 81218db commit 7da9fb1

File tree

3 files changed

+29
-1
lines changed

3 files changed

+29
-1
lines changed

lib/purge_content.js

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
'use strict';
2+
3+
const mwUtil = require('./mwUtil');
4+
5+
module.exports = (hyper, req, next, options) => {
6+
const startTime = Date.parse(options.start_time);
7+
const endTime = Date.parse(options.end_time);
8+
9+
return next(hyper, req)
10+
.then((res) => {
11+
if (!startTime || !endTime) {
12+
return res;
13+
}
14+
15+
const contentTimestamp = mwUtil.extractDateFromEtag(res.headers.etag);
16+
if (!contentTimestamp || contentTimestamp < startTime || contentTimestamp > endTime) {
17+
return res;
18+
}
19+
20+
if (mwUtil.isNoCacheRequest(req)) {
21+
return res;
22+
}
23+
24+
req.headers['cache-control'] = 'no-cache';
25+
return next(hyper, req);
26+
});
27+
};

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
"eslint-plugin-jsdoc": "^20.4.0",
5757
"eslint-plugin-json": "^1.4.0",
5858
"js-yaml": "^3.13.1",
59+
"jsonc-parser": "3.2.0",
5960
"mocha": "^6.2.3",
6061
"mocha-lcov-reporter": "^1.3.0",
6162
"mocha.parallel": "^0.15.6",

test/features/pagecontent/language_variants.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ describe('Language variants', function() {
158158
assert.deepEqual(res.headers['content-language'], 'de');
159159
assert.deepEqual(res.headers['x-restbase-sunset'] || null, 'true');
160160
assert.checkString(res.headers.etag, /^"\d+\/[a-f0-9-]+"$/);
161-
assert.deepEqual(res.body.extract, 'Das ist eine testseite');
161+
assert.deepEqual(res.body.extract, 'Das ist eine testseite!');
162162
})
163163
});
164164

0 commit comments

Comments
 (0)