kopia lustrzana https://github.com/c9/core
make sure preview doesn't crash if instrumentation fails
rodzic
2d95dd16c9
commit
7a11c67b64
|
@ -6,6 +6,7 @@ define(function(require, exports, module) {
|
||||||
"connect.render.ejs",
|
"connect.render.ejs",
|
||||||
"connect.redirect",
|
"connect.redirect",
|
||||||
"connect.static",
|
"connect.static",
|
||||||
|
"error.logger",
|
||||||
"metrics"
|
"metrics"
|
||||||
];
|
];
|
||||||
main.provides = ["preview.handler"];
|
main.provides = ["preview.handler"];
|
||||||
|
@ -19,6 +20,7 @@ define(function(require, exports, module) {
|
||||||
var metrics = imports.metrics;
|
var metrics = imports.metrics;
|
||||||
var parseUrl = require("url").parse;
|
var parseUrl = require("url").parse;
|
||||||
var debug = require("debug")("preview");
|
var debug = require("debug")("preview");
|
||||||
|
var logError = imports["error.logger"].warn;
|
||||||
|
|
||||||
var staticPrefix = imports["connect.static"].getStaticPrefix();
|
var staticPrefix = imports["connect.static"].getStaticPrefix();
|
||||||
|
|
||||||
|
@ -306,8 +308,16 @@ define(function(require, exports, module) {
|
||||||
if (data)
|
if (data)
|
||||||
buffer += data;
|
buffer += data;
|
||||||
|
|
||||||
if (shouldInject)
|
if (shouldInject) {
|
||||||
|
try {
|
||||||
buffer = generateInstrumentedHTML(buffer) || "";
|
buffer = generateInstrumentedHTML(buffer) || "";
|
||||||
|
} catch(e) {
|
||||||
|
// don't intrument if it fails
|
||||||
|
logError(new Error("HTML instrumentation failed"), {
|
||||||
|
exception: e
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
data = new Buffer(buffer);
|
data = new Buffer(buffer);
|
||||||
res.writeHead(200, {
|
res.writeHead(200, {
|
||||||
"content-length": data.length + inject.length,
|
"content-length": data.length + inject.length,
|
||||||
|
|
Ładowanie…
Reference in New Issue