Skip to content

Commit 4ef31cd

Browse files
author
Beau Gunderson
committed
[fix] fix path.resolve crash in html5 test backend
Using fix from #237. Also tabs → spaces.
1 parent 592c605 commit 4ef31cd

File tree

1 file changed

+54
-46
lines changed

1 file changed

+54
-46
lines changed

test/browser/backend/backend.js

Lines changed: 54 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,79 @@
11
var http = require('http'),
2-
fs = require('fs'),
3-
path = require('path'),
4-
director = require('../../../lib/director'),
5-
index;
2+
fs = require('fs'),
3+
path = require('path'),
4+
director = require('../../../lib/director'),
5+
index;
66

77
fs.readFile(path.join(__dirname, '..', 'html5-routes-harness.html'), function (err, data) {
8-
if (err) {
9-
throw err;
10-
}
8+
if (err) {
9+
throw err;
10+
}
1111

12-
index = data;
12+
index = data;
1313
});
1414

1515
var CONTENT_TYPES = {
16-
'.js' : 'text/javascript',
17-
'.css' : 'text/css'
16+
'.js' : 'text/javascript',
17+
'.css' : 'text/css'
1818
};
1919

20+
var dirname = path.dirname(module.uri);
21+
2022
// Dummy file server
2123
function fileServer(folder, file) {
22-
var root = path.resolve(__dirname, '..');
23-
if (folder === 'build' || folder === 'node_modules') {
24-
root = path.resolve(root, '..', '..');
25-
}
24+
var root = path.resolve(dirname, '..');
25+
26+
if (folder === 'build' || folder === 'node_modules') {
27+
root = path.resolve(root, '..', '..');
28+
}
29+
30+
if (file === undefined) {
31+
file = folder;
32+
folder = '.';
33+
}
2634

27-
var filepath = path.resolve(root, folder, file);
35+
var filepath = path.resolve(root, folder, file);
2836

29-
var res = this.res;
37+
var res = this.res;
3038

31-
(fs.exists || path.exists)(filepath, function (exists) {
32-
if (exists) {
33-
fs.readFile(filepath, function (err, data) {
34-
if (err) {
35-
res.writeHead(404);
36-
res.end();
37-
}
39+
(fs.exists || path.exists)(filepath, function (exists) {
40+
if (exists) {
41+
fs.readFile(filepath, function (err, data) {
42+
if (err) {
43+
res.writeHead(404);
44+
res.end();
45+
}
3846

39-
res.writeHead(200, {'Content-Type': CONTENT_TYPES[path.extname(filepath)]});
40-
res.end(data);
41-
});
42-
} else {
43-
res.writeHead(404);
44-
res.end();
45-
}
46-
});
47+
res.writeHead(200, {'Content-Type': CONTENT_TYPES[path.extname(filepath)]});
48+
res.end(data);
49+
});
50+
} else {
51+
res.writeHead(404);
52+
res.end();
53+
}
54+
});
4755
}
4856

4957
var router = new director.http.Router({
50-
'/files': {
51-
'/:folder': {
52-
'/(.+)': {
53-
get: fileServer
54-
},
58+
'/files': {
59+
'/:folder': {
60+
'/(.+)': {
61+
get: fileServer
62+
},
5563

56-
get: fileServer
57-
}
58-
}
64+
get: fileServer
65+
}
66+
}
5967
});
6068

6169
var server = http.createServer(function (req, res) {
62-
router.dispatch(req, res, function (err) {
63-
if (err && req.url != '/favicon.ico') {
64-
// By default just reply with the index page
65-
this.res.writeHead(200, {'Content-Type': 'text/html'});
66-
this.res.end(index);
67-
}
68-
});
70+
router.dispatch(req, res, function (err) {
71+
if (err && req.url !== '/favicon.ico') {
72+
// By default just reply with the index page
73+
this.res.writeHead(200, {'Content-Type': 'text/html'});
74+
this.res.end(index);
75+
}
76+
});
6977
});
7078

7179
server.listen(8080);

0 commit comments

Comments
 (0)