mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-01-31 19:02:59 +01:00
staleCode: Async update
This commit is contained in:
parent
0669280af0
commit
009e1d01f7
3 changed files with 47 additions and 37 deletions
|
@ -14,7 +14,6 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
var async = require('async');
|
||||
var Buffer = require('buffer').Buffer;
|
||||
var fs = require('fs');
|
||||
var path = require('path');
|
||||
|
@ -145,30 +144,39 @@ CachingMiddleware.prototype = new function () {
|
|||
res.write = function(data, encoding) {
|
||||
buffer += data.toString(encoding);
|
||||
};
|
||||
res.end = function(data, encoding) {
|
||||
async.parallel([
|
||||
function (callback) {
|
||||
var path = CACHE_DIR + 'minified_' + cacheKey;
|
||||
fs.writeFile(path, buffer, function (error, stats) {
|
||||
callback();
|
||||
});
|
||||
}
|
||||
, function (callback) {
|
||||
var path = CACHE_DIR + 'minified_' + cacheKey + '.gz';
|
||||
zlib.gzip(buffer, function(error, content) {
|
||||
if (error) {
|
||||
callback();
|
||||
} else {
|
||||
fs.writeFile(path, content, function (error, stats) {
|
||||
callback();
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
], function () {
|
||||
responseCache[cacheKey] = {statusCode: status, headers: headers};
|
||||
respond();
|
||||
});
|
||||
res.end = async function(data, encoding) {
|
||||
// Parallel.
|
||||
Promise.all([compressMinified(), compressMinifiedGz()])
|
||||
|
||||
async function compressMinified() {
|
||||
var path = CACHE_DIR + 'minified_' + cacheKey;
|
||||
fs.writeFile(path, buffer, function (error, stats) {
|
||||
if(error){
|
||||
return Promise.reject(error)
|
||||
}
|
||||
else{
|
||||
return Promise.resolve(stats)
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
async function compressMinifiedGz() {
|
||||
var path = CACHE_DIR + 'minified_' + cacheKey + '.gz';
|
||||
zlib.gzip(buffer, function(error, content) {
|
||||
if (error) {
|
||||
return Promise.reject(error)
|
||||
} else {
|
||||
fs.writeFile(path, content, function (error, stats) {
|
||||
if(error){
|
||||
return Promise.reject(error)
|
||||
}
|
||||
return Promise.resolve('ok')
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
responseCache[cacheKey] = {statusCode: status, headers: headers};
|
||||
respond();
|
||||
};
|
||||
} else if (status == 304) {
|
||||
// Nothing new changed from the cached version.
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"async": "0.9.0",
|
||||
"async": "3.2.0",
|
||||
"async-stacktrace": "0.0.2",
|
||||
"channels": "0.0.4",
|
||||
"cheerio": "0.22.0",
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
var async = require("async");
|
||||
var _ = require("underscore");
|
||||
|
||||
exports.bubbleExceptions = true
|
||||
|
@ -78,19 +77,22 @@ exports.callAll = function (hook_name, args) {
|
|||
}
|
||||
}
|
||||
|
||||
function aCallAll(hook_name, args, cb) {
|
||||
async function aCallAll(hook_name, args, cb) {
|
||||
if (!args) args = {};
|
||||
if (!cb) cb = function () {};
|
||||
if (exports.plugins.hooks[hook_name] === undefined) return cb(null, []);
|
||||
async.map(
|
||||
exports.plugins.hooks[hook_name],
|
||||
function (hook, cb) {
|
||||
hookCallWrapper(hook, hook_name, args, function (res) { cb(null, res); });
|
||||
},
|
||||
function (err, res) {
|
||||
cb(null, _.flatten(res, true));
|
||||
}
|
||||
);
|
||||
|
||||
var newArray = [];
|
||||
// This should be a map.
|
||||
await exports.plugins.hooks[hook_name].forEach(async function(hook, index){
|
||||
let test = await hookCallWrapper(hook, hook_name, args, function (res) {
|
||||
return Promise.resolve(res);
|
||||
});
|
||||
newArray.push(test)
|
||||
});
|
||||
|
||||
// after forEach
|
||||
cb(null, _.flatten(newArray, true));
|
||||
}
|
||||
|
||||
/* return a Promise if cb is not supplied */
|
||||
|
|
Loading…
Reference in a new issue