Skip to content

Commit 318fd4b

Browse files
committed
Merge tag '4.17.3'
2 parents 6faf26d + 3d7fce5 commit 318fd4b

File tree

123 files changed

+807
-309
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

123 files changed

+807
-309
lines changed

.github/workflows/ci.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,23 +27,23 @@ jobs:
2727
include:
2828
- name: Node.js 4.0
2929
node-version: "4.0"
30-
npm-i: mocha@5.2.0 supertest@3.4.2
30+
npm-i: mocha@5.2.0 nyc@11.9.0 supertest@3.4.2
3131

3232
- name: Node.js 4.x
3333
node-version: "4.9"
34-
npm-i: mocha@5.2.0 supertest@3.4.2
34+
npm-i: mocha@5.2.0 nyc@11.9.0 supertest@3.4.2
3535

3636
- name: Node.js 5.x
3737
node-version: "5.12"
38-
npm-i: mocha@5.2.0 supertest@3.4.2
38+
npm-i: mocha@5.2.0 nyc@11.9.0 supertest@3.4.2
3939

4040
- name: Node.js 6.x
4141
node-version: "6.17"
42-
npm-i: mocha@6.2.2
42+
npm-i: mocha@6.2.2 nyc@14.1.1 supertest@6.1.6
4343

4444
- name: Node.js 7.x
4545
node-version: "7.10"
46-
npm-i: mocha@6.2.2
46+
npm-i: mocha@6.2.2 nyc@14.1.1 supertest@6.1.6
4747

4848
- name: Node.js 8.x
4949
node-version: "8.17"
@@ -68,7 +68,7 @@ jobs:
6868
node-version: "13.14"
6969

7070
- name: Node.js 14.x
71-
node-version: "14.18"
71+
node-version: "14.19"
7272

7373
steps:
7474
- uses: actions/checkout@v2
@@ -113,6 +113,7 @@ jobs:
113113
echo "node@$(node -v)"
114114
echo "npm@$(npm -v)"
115115
npm -s ls ||:
116+
(npm -s ls --depth=0 ||:) | awk -F'[ @]' 'NR>1 && $2 { print "::set-output name=" $2 "::" $3 }'
116117
117118
- name: Run tests
118119
shell: bash

.gitignore

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,15 @@
1-
# OS X
2-
.DS_Store*
3-
Icon?
4-
._*
5-
6-
# Windows
7-
Thumbs.db
8-
ehthumbs.db
9-
Desktop.ini
10-
11-
# Linux
12-
.directory
13-
*~
14-
15-
161
# npm
172
node_modules
183
package-lock.json
194
*.log
205
*.gz
216

22-
237
# Coveralls
8+
.nyc_output
249
coverage
2510

2611
# Benchmarking
2712
benchmarks/graphs
13+
14+
# ignore additional files using core.excludesFile
15+
# https://git-scm.com/docs/gitignore

History.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
5.x
2+
===
3+
4+
This incorporates all changes after 4.17.2 up to 4.17.3.
5+
16
5.0.0-beta.1 / 2022-02-14
27
=========================
38

@@ -157,6 +162,21 @@ This is the first Express 5.0 alpha release, based off 4.10.1.
157162
* add:
158163
- `app.router` is a reference to the base router
159164

165+
4.17.3 / 2022-02-16
166+
===================
167+
168+
* deps: accepts@~1.3.8
169+
- deps: mime-types@~2.1.34
170+
- deps: negotiator@0.6.3
171+
* deps: body-parser@1.19.2
172+
- deps: bytes@3.1.2
173+
- deps: qs@6.9.7
174+
- deps: raw-body@2.4.3
175+
* deps: cookie@0.4.2
176+
* deps: qs@6.9.7
177+
* Fix handling of `__proto__` keys
178+
* pref: remove unnecessary regexp for trust proxy
179+
160180
4.17.2 / 2021-12-16
161181
===================
162182

appveyor.yml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ environment:
1010
- nodejs_version: "11.15"
1111
- nodejs_version: "12.22"
1212
- nodejs_version: "13.14"
13-
- nodejs_version: "14.18"
13+
- nodejs_version: "14.19"
1414
cache:
1515
- node_modules
1616
install:
@@ -46,11 +46,25 @@ install:
4646
} elseif ([int]$env:nodejs_version.split(".")[0] -lt 12) {
4747
npm install --silent --save-dev mocha@8.4.0
4848
}
49+
- ps: |
50+
# nyc for test coverage
51+
# - use 10.3.2 for Node.js < 4
52+
# - use 11.9.0 for Node.js < 6
53+
# - use 14.1.1 for Node.js < 8
54+
if ([int]$env:nodejs_version.split(".")[0] -lt 4) {
55+
npm install --silent --save-dev nyc@10.3.2
56+
} elseif ([int]$env:nodejs_version.split(".")[0] -lt 6) {
57+
npm install --silent --save-dev nyc@11.9.0
58+
} elseif ([int]$env:nodejs_version.split(".")[0] -lt 8) {
59+
npm install --silent --save-dev nyc@14.1.1
60+
}
4961
- ps: |
5062
# supertest for http calls
5163
# - use 3.4.2 for Node.js < 6
5264
if ([int]$env:nodejs_version.split(".")[0] -lt 6) {
5365
npm install --silent --save-dev supertest@3.4.2
66+
} elseif ([int]$env:nodejs_version.split(".")[0] -lt 8) {
67+
npm install --silent --save-dev supertest@6.1.6
5468
}
5569
# Update Node.js modules
5670
- ps: |

examples/auth/index.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
/**
24
* Module dependencies.
35
*/
@@ -59,14 +61,14 @@ function authenticate(name, pass, fn) {
5961
if (!module.parent) console.log('authenticating %s:%s', name, pass);
6062
var user = users[name];
6163
// query the db for the given username
62-
if (!user) return fn(new Error('cannot find user'));
64+
if (!user) return fn(null, null)
6365
// apply the same algorithm to the POSTed password, applying
6466
// the hash against the pass / salt, if there is a match we
6567
// found the user
6668
hash({ password: pass, salt: user.salt }, function (err, pass, salt, hash) {
6769
if (err) return fn(err);
6870
if (hash === user.hash) return fn(null, user)
69-
fn(new Error('invalid password'));
71+
fn(null, null)
7072
});
7173
}
7274

@@ -99,9 +101,10 @@ app.get('/login', function(req, res){
99101
res.render('login');
100102
});
101103

102-
app.post('/login', function(req, res){
104+
app.post('/login', function (req, res, next) {
103105
if (!req.body) return res.sendStatus(400)
104106
authenticate(req.body.username, req.body.password, function(err, user){
107+
if (err) return next(err)
105108
if (user) {
106109
// Regenerate session when signing in
107110
// to prevent fixation

examples/content-negotiation/db.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
var users = [];
24

35
users.push({ name: 'Tobi' });

examples/content-negotiation/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
var express = require('../../');
24
var app = module.exports = express();
35
var users = require('./db');

examples/content-negotiation/users.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict'
12

23
var users = require('./db');
34

examples/cookie-sessions/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
/**
24
* Module dependencies.
35
*/

examples/cookies/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
/**
24
* Module dependencies.
35
*/

examples/downloads/index.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,18 @@
1+
'use strict'
2+
13
/**
24
* Module dependencies.
35
*/
46

57
var express = require('../../');
68
var path = require('path');
9+
var resolvePath = require('resolve-path')
10+
711
var app = module.exports = express();
812

13+
// path to where the files are stored on disk
14+
var FILES_DIR = path.join(__dirname, 'files')
15+
916
app.get('/', function(req, res){
1017
res.send('<ul>' +
1118
'<li>Download <a href="/files/notes/groceries.txt">notes/groceries.txt</a>.</li>' +
@@ -18,7 +25,7 @@ app.get('/', function(req, res){
1825
// /files/* is accessed via req.params[0]
1926
// but here we name it :file
2027
app.get('/files/:file+', function (req, res, next) {
21-
var filePath = path.join(__dirname, 'files', req.params.file);
28+
var filePath = resolvePath(FILES_DIR, req.params.file)
2229

2330
res.download(filePath, function (err) {
2431
if (!err) return; // file sent

examples/ejs/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
/**
24
* Module dependencies.
35
*/

examples/error-pages/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
/**
24
* Module dependencies.
35
*/

examples/error/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
/**
24
* Module dependencies.
35
*/

examples/hello-world/index.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1+
'use strict'
2+
13
var express = require('../../');
24

3-
var app = express();
5+
var app = module.exports = express()
46

57
app.get('/', function(req, res){
68
res.send('Hello World');

examples/markdown/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
/**
24
* Module dependencies.
35
*/

examples/multi-router/controllers/api_v1.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
var express = require('../../..');
24

35
var apiv1 = express.Router();

examples/multi-router/controllers/api_v2.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
var express = require('../../..');
24

35
var apiv2 = express.Router();

examples/multi-router/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
var express = require('../..');
24

35
var app = module.exports = express();

examples/multipart/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
/**
24
* Module dependencies.
35
*/
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
exports.index = function(req, res){
24
res.redirect('/users');
35
};

examples/mvc/controllers/pet/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
/**
24
* Module dependencies.
35
*/

examples/mvc/controllers/user-pet/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
/**
24
* Module dependencies.
35
*/

examples/mvc/controllers/user/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
/**
24
* Module dependencies.
35
*/

examples/mvc/db.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
// faux database
24

35
var pets = exports.pets = [];

examples/mvc/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
/**
24
* Module dependencies.
35
*/

examples/mvc/lib/boot.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
/**
24
* Module dependencies.
35
*/

examples/online/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict'
12

23
// install redis first:
34
// https://redis.io/

examples/params/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
/**
24
* Module dependencies.
35
*/

examples/resource/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
/**
24
* Module dependencies.
35
*/

examples/route-map/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
/**
24
* Module dependencies.
35
*/

examples/route-middleware/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
/**
24
* Module dependencies.
35
*/

examples/route-separation/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
/**
24
* Module dependencies.
35
*/

examples/route-separation/post.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
// Fake posts database
24

35
var posts = [

examples/route-separation/site.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
exports.index = function(req, res){
24
res.render('index', { title: 'Route Separation Example' });
35
};

examples/route-separation/user.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
// Fake user database
24

35
var users = [

examples/search/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict'
12

23
// install redis first:
34
// https://redis.io/

examples/search/public/client.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict'
2+
13
var search = document.querySelector('[type=search]');
24
var code = document.querySelector('pre');
35

0 commit comments

Comments
 (0)