improve resilience against GitHub API (#4161)
authorAlex Lam S.L <alexlamsl@gmail.com>
Tue, 29 Sep 2020 17:13:29 +0000 (18:13 +0100)
committerGitHub <noreply@github.com>
Tue, 29 Sep 2020 17:13:29 +0000 (01:13 +0800)
test/ufuzz/actions.js

index 6798aa4..7e9dc21 100644 (file)
@@ -38,6 +38,10 @@ exports.should_stop = function(callback) {
 };
 
 function read(url, callback) {
+    var done = function(reply) {
+        done = function() {};
+        callback(reply);
+    };
     var options = parse(url);
     options.headers = {
         "Authorization": "Token " + token,
@@ -49,7 +53,15 @@ function read(url, callback) {
         response.on("data", function(chunk) {
             chunks.push(chunk);
         }).on("end", function() {
-            callback(JSON.parse(chunks.join("")));
+            var reply;
+            try {
+                reply = JSON.parse(chunks.join(""))
+            } catch (e) {}
+            done(reply);
+        }).on("error", function() {
+            done();
         });
+    }).on("error", function() {
+        done();
     });
 }