make sure preview doesn't crash if instrumentation fails

pull/134/head
Fabian Jakobs 2015-08-13 14:42:47 +00:00
rodzic 2d95dd16c9
commit 7a11c67b64
1 zmienionych plików z 12 dodań i 2 usunięć

Wyświetl plik

@ -6,6 +6,7 @@ define(function(require, exports, module) {
"connect.render.ejs",
"connect.redirect",
"connect.static",
"error.logger",
"metrics"
];
main.provides = ["preview.handler"];
@ -19,6 +20,7 @@ define(function(require, exports, module) {
var metrics = imports.metrics;
var parseUrl = require("url").parse;
var debug = require("debug")("preview");
var logError = imports["error.logger"].warn;
var staticPrefix = imports["connect.static"].getStaticPrefix();
@ -306,8 +308,16 @@ define(function(require, exports, module) {
if (data)
buffer += data;
if (shouldInject)
buffer = generateInstrumentedHTML(buffer) || "";
if (shouldInject) {
try {
buffer = generateInstrumentedHTML(buffer) || "";
} catch(e) {
// don't intrument if it fails
logError(new Error("HTML instrumentation failed"), {
exception: e
});
}
}
data = new Buffer(buffer);
res.writeHead(200, {
"content-length": data.length + inject.length,