Skip to content

Commit 8eb95ae

Browse files
chainhelendougwilson
authored andcommitted
examples: use path.join instead of concatenation
closes #3236
1 parent 67168fe commit 8eb95ae

File tree

10 files changed

+42
-31
lines changed

10 files changed

+42
-31
lines changed

examples/auth/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,15 @@
55
var express = require('../..');
66
var bodyParser = require('body-parser');
77
var hash = require('pbkdf2-password')()
8+
var path = require('path');
89
var session = require('express-session');
910

1011
var app = module.exports = express();
1112

1213
// config
1314

1415
app.set('view engine', 'ejs');
15-
app.set('views', __dirname + '/views');
16+
app.set('views', path.join(__dirname, 'views'));
1617

1718
// middleware
1819

examples/downloads/index.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
*/
44

55
var express = require('../../');
6+
var path = require('path');
67
var app = module.exports = express();
78

89
app.get('/', function(req, res){
@@ -16,10 +17,9 @@ app.get('/', function(req, res){
1617
// /files/* is accessed via req.params[0]
1718
// but here we name it :file
1819
app.get('/files/:file(*)', function(req, res, next){
19-
var file = req.params.file;
20-
var path = __dirname + '/files/' + file;
20+
var filePath = path.join(__dirname, 'files', req.params.file);
2121

22-
res.download(path, function(err){
22+
res.download(filePath, function (err) {
2323
if (!err) return; // file sent
2424
if (err && err.status !== 404) return next(err); // non-404 error
2525
// file for download not found

examples/ejs/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
*/
44

55
var express = require('../../');
6+
var path = require('path');
67

78
var app = module.exports = express();
89

@@ -21,7 +22,7 @@ app.engine('.html', require('ejs').__express);
2122

2223
// Optional since express defaults to CWD/views
2324

24-
app.set('views', __dirname + '/views');
25+
app.set('views', path.join(__dirname, 'views'));
2526

2627
// Without this you would need to
2728
// supply the extension to res.render()

examples/error-pages/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@
33
*/
44

55
var express = require('../../');
6+
var path = require('path');
67
var app = module.exports = express();
78
var logger = require('morgan');
89
var silent = 'test' == process.env.NODE_ENV;
910

1011
// general config
11-
app.set('views', __dirname + '/views');
12+
app.set('views', path.join(__dirname, 'views'));
1213
app.set('view engine', 'ejs');
1314

1415
// our custom "verbose errors" setting

examples/jade/index.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33
*/
44

55
var express = require('../../lib/express');
6+
var path = require('path');
67

78
// Path to our public directory
89

9-
var pub = __dirname + '/public';
10+
var pub = path.join(__dirname, 'public');
1011

1112
// setup middleware
1213

@@ -15,7 +16,7 @@ app.use(express.static(pub));
1516

1617
// Optional since express defaults to CWD/views
1718

18-
app.set('views', __dirname + '/views');
19+
app.set('views', path.join(__dirname, 'views'));
1920

2021
// Set our default template engine to "jade"
2122
// which prevents the need for extensions

examples/markdown/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ var escapeHtml = require('escape-html');
66
var express = require('../..');
77
var fs = require('fs');
88
var marked = require('marked');
9+
var path = require('path');
910

1011
var app = module.exports = express();
1112

@@ -21,7 +22,7 @@ app.engine('md', function(path, options, fn){
2122
});
2223
});
2324

24-
app.set('views', __dirname + '/views');
25+
app.set('views', path.join(__dirname, 'views'));
2526

2627
// make it the default so we dont need .md
2728
app.set('view engine', 'md');

examples/mvc/index.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
var express = require('../..');
66
var logger = require('morgan');
7+
var path = require('path');
78
var session = require('express-session');
89
var bodyParser = require('body-parser');
910
var methodOverride = require('method-override');
@@ -17,7 +18,7 @@ var app = module.exports = express();
1718
app.set('view engine', 'jade');
1819

1920
// set views for error and 404 pages
20-
app.set('views', __dirname + '/views');
21+
app.set('views', path.join(__dirname, 'views'));
2122

2223
// define a custom res.message() method
2324
// which stores messages in the session
@@ -34,7 +35,7 @@ app.response.message = function(msg){
3435
if (!module.parent) app.use(logger('dev'));
3536

3637
// serve static files
37-
app.use(express.static(__dirname + '/public'));
38+
app.use(express.static(path.join(__dirname, 'public')));
3839

3940
// session support
4041
app.use(session({

examples/mvc/lib/boot.js

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,26 @@
44

55
var express = require('../../..');
66
var fs = require('fs');
7+
var path = require('path');
78

89
module.exports = function(parent, options){
10+
var dir = path.join(__dirname, '..', 'controllers');
911
var verbose = options.verbose;
10-
fs.readdirSync(__dirname + '/../controllers').forEach(function(name){
11-
if (!fs.statSync(__dirname + '/../controllers/' + name).isDirectory()) return;
12+
fs.readdirSync(dir).forEach(function(name){
13+
var file = path.join(dir, name)
14+
if (!fs.statSync(file).isDirectory()) return;
1215
verbose && console.log('\n %s:', name);
13-
var obj = require('./../controllers/' + name);
16+
var obj = require(file);
1417
var name = obj.name || name;
1518
var prefix = obj.prefix || '';
1619
var app = express();
1720
var handler;
1821
var method;
19-
var path;
22+
var url;
2023

2124
// allow specifying the view engine
2225
if (obj.engine) app.set('view engine', obj.engine);
23-
app.set('views', __dirname + '/../controllers/' + name + '/views');
26+
app.set('views', path.join(__dirname, '..', 'controllers', name, 'views'));
2427

2528
// generate routes based
2629
// on the exported methods
@@ -31,27 +34,27 @@ module.exports = function(parent, options){
3134
switch (key) {
3235
case 'show':
3336
method = 'get';
34-
path = '/' + name + '/:' + name + '_id';
37+
url = '/' + name + '/:' + name + '_id';
3538
break;
3639
case 'list':
3740
method = 'get';
38-
path = '/' + name + 's';
41+
url = '/' + name + 's';
3942
break;
4043
case 'edit':
4144
method = 'get';
42-
path = '/' + name + '/:' + name + '_id/edit';
45+
url = '/' + name + '/:' + name + '_id/edit';
4346
break;
4447
case 'update':
4548
method = 'put';
46-
path = '/' + name + '/:' + name + '_id';
49+
url = '/' + name + '/:' + name + '_id';
4750
break;
4851
case 'create':
4952
method = 'post';
50-
path = '/' + name;
53+
url = '/' + name;
5154
break;
5255
case 'index':
5356
method = 'get';
54-
path = '/';
57+
url = '/';
5558
break;
5659
default:
5760
/* istanbul ignore next */
@@ -60,15 +63,15 @@ module.exports = function(parent, options){
6063

6164
// setup
6265
handler = obj[key];
63-
path = prefix + path;
66+
url = prefix + url;
6467

6568
// before middleware support
6669
if (obj.before) {
67-
app[method](path, obj.before, handler);
68-
verbose && console.log(' %s %s -> before -> %s', method.toUpperCase(), path, key);
70+
app[method](url, obj.before, handler);
71+
verbose && console.log(' %s %s -> before -> %s', method.toUpperCase(), url, key);
6972
} else {
70-
app[method](path, handler);
71-
verbose && console.log(' %s %s -> %s', method.toUpperCase(), path, key);
73+
app[method](url, handler);
74+
verbose && console.log(' %s %s -> %s', method.toUpperCase(), url, key);
7275
}
7376
}
7477

examples/route-separation/index.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
*/
44

55
var express = require('../..');
6+
var path = require('path');
67
var app = express();
78
var logger = require('morgan');
89
var cookieParser = require('cookie-parser');
@@ -17,7 +18,7 @@ module.exports = app;
1718
// Config
1819

1920
app.set('view engine', 'jade');
20-
app.set('views', __dirname + '/views');
21+
app.set('views', path.join(__dirname, 'views'));
2122

2223
/* istanbul ignore next */
2324
if (!module.parent) {
@@ -27,7 +28,7 @@ if (!module.parent) {
2728
app.use(methodOverride('_method'));
2829
app.use(cookieParser());
2930
app.use(bodyParser.urlencoded({ extended: true }));
30-
app.use(express.static(__dirname + '/public'));
31+
app.use(express.static(path.join(__dirname, 'public')));
3132

3233
// General
3334

examples/search/index.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
*/
88

99
var express = require('../..');
10+
var path = require('path');
1011
var redis = require('redis');
1112

1213
var db = redis.createClient();
@@ -15,7 +16,7 @@ var db = redis.createClient();
1516

1617
var app = express();
1718

18-
app.use(express.static(__dirname + '/public'));
19+
app.use(express.static(path.join(__dirname, 'public')));
1920

2021
// populate search
2122

@@ -45,7 +46,7 @@ app.get('/search/:query?', function(req, res){
4546
*/
4647

4748
app.get('/client.js', function(req, res){
48-
res.sendFile(__dirname + '/client.js');
49+
res.sendFile(path.join(__dirname, 'client.js'));
4950
});
5051

5152
/* istanbul ignore next */

0 commit comments

Comments
 (0)