diff --git a/lib/get-info.js b/lib/get-info.js index 6ff95eae..f4d702e9 100644 --- a/lib/get-info.js +++ b/lib/get-info.js @@ -10,7 +10,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI */ var http = require("http"); var https = require("https"); -var domain = require("domain"); var Logger = require("./logger.js"); var Media = require("./media"); var CustomEmbedFilter = require("./customembed").filter; @@ -44,32 +43,24 @@ const CONTENT_TYPES = { }; var urlRetrieve = function (transport, options, callback) { - // Catch any errors that crop up along the way of the request - // in order to prevent them from reaching the global handler. - // This should cut down on needing to restart the server - var d = domain.create(); - d.on("error", function (err) { - Logger.errlog.log(err.stack); - Logger.errlog.log("urlRetrieve failed: " + err); - Logger.errlog.log("Request was: " + options.host + options.path); - setImmediate(function () { - callback(503, ""); + var req = transport.request(options, function (res) { + var buffer = ""; + res.setEncoding("utf-8"); + res.on("data", function (chunk) { + buffer += chunk; + }); + res.on("end", function () { + callback(res.statusCode, buffer); }); }); - d.run(function () { - var req = transport.request(options, function (res) { - var buffer = ""; - res.setEncoding("utf-8"); - res.on("data", function (chunk) { - buffer += chunk; - }); - res.on("end", function () { - callback(res.statusCode, buffer); - }); - }); - req.end(); + req.on("error", function (err) { + Logger.errlog.log("HTTP request " + options.host + options.path + " failed: " + + err); + callback(503, ""); }); + + req.end(); }; var Getters = {