|
@@ -12,6 +12,9 @@ var human_status = {
|
|
|
};
|
|
|
|
|
|
|
|
|
+// print these, but without stacktrace
|
|
|
+var silent_errors = ["ETIMEDOUT", "ESOCKETTIMEDOUT", "ECONNRESET", "EHOSTUNREACH", "ECONNREFUSED"];
|
|
|
+
|
|
|
// handles HTTP responses
|
|
|
// +request+ a http.IncomingMessage
|
|
|
// +response+ a http.ServerResponse
|
|
@@ -23,7 +26,6 @@ var human_status = {
|
|
|
// * hash: image hash, required when body is an image
|
|
|
// * err: a possible Error
|
|
|
module.exports = function(request, response, result) {
|
|
|
-
|
|
|
response.on("close", function() {
|
|
|
logging.warn(request.id, "Connection closed");
|
|
|
});
|
|
@@ -38,7 +40,7 @@ module.exports = function(request, response, result) {
|
|
|
|
|
|
// These headers are the same for every response
|
|
|
var headers = {
|
|
|
- "Content-Type": (result.body && result.type) || "text/plain",
|
|
|
+ "Content-Type": result.body && result.type || "text/plain",
|
|
|
"Cache-Control": "max-age=" + config.caching.browser + ", public",
|
|
|
"Response-Time": Date.now() - request.start,
|
|
|
"X-Request-ID": request.id,
|
|
@@ -46,8 +48,14 @@ module.exports = function(request, response, result) {
|
|
|
};
|
|
|
|
|
|
if (result.err) {
|
|
|
- logging.error(request.id, result.err);
|
|
|
- logging.error(request.id, result.err.stack);
|
|
|
+ var silent = silent_errors.indexOf(result.err.code) !== -1;
|
|
|
+ if (result.err.stack && !silent) {
|
|
|
+ logging.error(request.id, result.err.stack);
|
|
|
+ } else if (silent) {
|
|
|
+ logging.warn(request.id, result.err);
|
|
|
+ } else {
|
|
|
+ logging.error(request.id, result.err);
|
|
|
+ }
|
|
|
result.status = -1;
|
|
|
}
|
|
|
|