Catch server errors and return 500

Reviewers: xymostech

Reviewed By: xymostech

Differential Revision: http://phabricator.benalpert.com/D39
This commit is contained in:
Ben Alpert 2013-07-07 14:13:25 -07:00
parent 3caccbf933
commit 33625f7b08
2 changed files with 12 additions and 4 deletions

View File

@ -1,6 +1,6 @@
FILES=parser.js style.css build.js index.html FILES=parser.js style.css build.js index.html
.PHONY: build ship copy server .PHONY: build ship copy serve
build: parser.js build: parser.js
ship: build ship: build
@ -14,5 +14,5 @@ copy: build
parser.js: parser.jison parser.js: parser.jison
./node_modules/.bin/jison parser.jison ./node_modules/.bin/jison parser.jison
server: serve:
node server.js node server.js

View File

@ -9,21 +9,29 @@ var app = express();
app.use(express.logger()); app.use(express.logger());
app.get("/MJLite.js", function(req, res) { app.get("/MJLite.js", function(req, res, next) {
var b = browserify(); var b = browserify();
b.add("./MJLite"); b.add("./MJLite");
b.transform(jisonify); b.transform(jisonify);
var stream = b.bundle({standalone: "MJLite"}); var stream = b.bundle({standalone: "MJLite"});
var body = ""; var body = "";
stream.on("data", function(s) { body += s; }); stream.on("data", function(s) { body += s; });
stream.on("error", function(e) { next(e); });
stream.on("end", function() { stream.on("end", function() {
res.setHeader("Content-Type", "text/javascript"); res.setHeader("Content-Type", "text/javascript");
res.send(body); res.send(body);
}); });
}); });
app.use(express.static(path.join(__dirname, 'static'))); app.use(express.static(path.join(__dirname, "static")));
app.use(function(err, req, res, next) {
console.error(err.stack);
res.setHeader("Content-Type", "text/plain");
res.send(500, err.stack);
});
app.listen(7936); app.listen(7936);
console.log("Serving on http://0.0.0.0:7936/ ..."); console.log("Serving on http://0.0.0.0:7936/ ...");