diff --git a/.circleci/config.yml b/.circleci/config.yml index aafcb37..e4b1fa2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,17 +3,15 @@ workflows: version: 2 test: jobs: - - node6 - - node8 - node10 - - node11 + - node12 + - node13 - lint - publish_npm: requires: - - node6 - - node8 - node10 - - node11 + - node12 + - node13 - lint filters: branches: @@ -26,36 +24,31 @@ unit_tests: &unit_tests - run: npm test jobs: - node6: - docker: - - image: node:6 - user: node - <<: *unit_tests - node8: + node10: docker: - - image: node:8 + - image: node:10 user: node <<: *unit_tests - node10: + node12: docker: - - image: node:10 + - image: node:12 user: node <<: *unit_tests - node11: + node13: docker: - - image: node:11 + - image: node:13 user: node <<: *unit_tests lint: docker: - - image: node:11 + - image: node:13 steps: - checkout - run: npm install - run: npm run lint coverage: docker: - - image: node:11 + - image: node:13 steps: - checkout - run: npm install @@ -63,7 +56,7 @@ jobs: - run: npm run coverage publish_npm: docker: - - image: node:11 + - image: node:13 steps: - checkout - run: npm install diff --git a/example/app.js b/example/app.js index bf821f4..1598517 100644 --- a/example/app.js +++ b/example/app.js @@ -6,8 +6,8 @@ const app = express(); // Use the yes-https connect middleware. Note - this will only work if NODE_ENV is set to production. app.use(yes()); -app.get('/', (req, res) => { - res.end('Thanks for checking it out!'); +app.get('/', (request, response) => { + response.end('Thanks for checking it out!'); }); const server = app.listen(process.env.PORT || 3000, () => { diff --git a/lib/index.js b/lib/index.js index b0d924a..663df1a 100644 --- a/lib/index.js +++ b/lib/index.js @@ -3,12 +3,12 @@ module.exports = function (options) { const maxAge = options.maxAge ? options.maxAge : 86400; const includeSubDomains = options.includeSubDomains === undefined ? true : options.includeSubdomains; - return function (req, res, next) { + return function (request, response, next) { let ignoreRequest = (process.env.NODE_ENV !== 'production'); - const secure = req.connection.encrypted || (req.get('X-Forwarded-Proto') === 'https'); + const secure = request.connection.encrypted || (request.get('X-Forwarded-Proto') === 'https'); if (options.ignoreFilter) { - ignoreRequest = ignoreRequest || options.ignoreFilter(req); + ignoreRequest = ignoreRequest || options.ignoreFilter(request); } if (ignoreRequest) { @@ -26,13 +26,13 @@ module.exports = function (options) { header += '; preload'; } - res.setHeader('Strict-Transport-Security', header); + response.setHeader('Strict-Transport-Security', header); next(); } else { - res.writeHead(301, { - Location: 'https://' + req.get('host') + req.url + response.writeHead(301, { + Location: 'https://' + request.get('host') + request.url }); - res.end(); + response.end(); } }; }; diff --git a/package.json b/package.json index 97ef033..9ca1d32 100644 --- a/package.json +++ b/package.json @@ -23,11 +23,10 @@ }, "homepage": "https://github.com/JustinBeckwith/yes-https#readme", "devDependencies": { - "express": "^4.16.3", - "mocha": "^6.0.0", - "request": "^2.87.0", - "supertest": "^4.0.0", - "xo": "^0.27.0" + "express": "^4.17.1", + "mocha": "^7.1.1", + "supertest": "^4.0.2", + "xo": "^0.29.0" }, "xo": { "overrides": [ @@ -36,5 +35,8 @@ "env": "mocha" } ] + }, + "engines": { + "node": ">=10" } } diff --git a/test/test.js b/test/test.js index ce7cf07..9663d4d 100644 --- a/test/test.js +++ b/test/test.js @@ -11,8 +11,8 @@ describe('yes', () => { // Configure a minimal web server with the defaults const app = express(); app.use(yes()); - app.get('/test', (req, res) => { - res.sendStatus(200); + app.get('/test', (request_, response) => { + response.sendStatus(200); }); // Verify the request returns a 301 @@ -32,8 +32,8 @@ describe('yes', () => { // Configure a minimal web server with the defaults const app = express(); app.use(yes()); - app.get('/test', (req, res) => { - res.sendStatus(200); + app.get('/test', (_request, response) => { + response.sendStatus(200); }); // Verify the request returns the right header when using https @@ -56,13 +56,13 @@ describe('yes', () => { // Configure a minimal web server with the defaults const app = express(); app.use(yes({ - ignoreFilter: req => { - return (req.url.includes('/_ah/health')); + ignoreFilter: request_ => { + return (request_.url.includes('/_ah/health')); } })); - app.get('/_ah/health', (req, res) => { - res.sendStatus(200); + app.get('/_ah/health', (_request, response) => { + response.sendStatus(200); }); // Verify the request returns a 200 for health checks