-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy pathserver.js
36 lines (29 loc) · 852 Bytes
/
server.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/usr/bin/env node
var util = require('util'),
fs = require('fs'),
url = require('url'),
express = require('express')
var DEFAULT_PORT = 3000;
app = express();
var appHelpers = {};
appHelpers.sendFile = function(pathname, res) {
util.puts('sending: ' + pathname);
var file = fs.createReadStream(pathname);
file.on('data', res.write.bind(res));
file.on('close', function () {
res.end();
});
file.on('error', function (error) {
util.puts(error);
})
}
//send anything with a file extension as normal
app.get('*.*', function (req, res) {
appHelpers.sendFile('.' + req.url, res);
})
//intercept any paths and send "./index.html":
app.get('*', function (req, res) {
appHelpers.sendFile('./index.html', res);
})
app.listen(DEFAULT_PORT);
console.log('Listening on port: ' + DEFAULT_PORT)