]> git.sesse.net Git - remoteglot/commitdiff
Small refactoring in serve-analysis.js.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Wed, 12 Jul 2023 09:58:02 +0000 (11:58 +0200)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Wed, 12 Jul 2023 10:09:06 +0000 (12:09 +0200)
server/serve-analysis.js

index 41610e1439d733d2f73c0389351f711454a5e9a0..2e176cc9b211a89410dcdcc96af9da5941269dc7 100644 (file)
@@ -157,6 +157,23 @@ var create_json_historic_diff = function(new_json, history_left, new_diff_json,
        });
 }
 
+function read_entire_file(filename, callback) {
+       fs.open(filename, 'r', function(err, fd) {
+               if (err) throw err;
+               fs.fstat(fd, function(err, st) {
+                       if (err) throw err;
+                       var buffer = new Buffer(1048576);
+                       fs.read(fd, buffer, 0, 1048576, 0, function(err, bytesRead, buffer) {
+                               if (err) throw err;
+                               fs.close(fd, function() {
+                                       var contents = buffer.toString('utf8', 0, bytesRead);
+                                       callback(contents, st.mtime.getTime());
+                               });
+                       });
+               });
+       });
+}
+
 var reread_file = function(event, filename) {
        if (filename != path.basename(json_filename)) {
                return;
@@ -173,19 +190,8 @@ var reread_file = function(event, filename) {
        json_lock = 1;
 
        console.log("Rereading " + json_filename);
-       fs.open(json_filename, 'r', function(err, fd) {
-               if (err) throw err;
-               fs.fstat(fd, function(err, st) {
-                       if (err) throw err;
-                       var buffer = new Buffer(1048576);
-                       fs.read(fd, buffer, 0, 1048576, 0, function(err, bytesRead, buffer) {
-                               if (err) throw err;
-                               fs.close(fd, function() {
-                                       var new_json_contents = buffer.toString('utf8', 0, bytesRead);
-                                       replace_json(new_json_contents, st.mtime.getTime());
-                               });
-                       });
-               });
+       read_entire_file(json_filename, function(new_json_contents, mtime) {
+               replace_json(new_json_contents, mtime);
        });
 
        if (touch_timer !== undefined) {