diff --git a/lib/server/config.js b/lib/server/config.js index fd538a9a..c997c4e6 100644 --- a/lib/server/config.js +++ b/lib/server/config.js @@ -17,9 +17,10 @@ CloudFunc = require(DIR_LIB + 'cloudfunc'), ponse = require(DIR_SERVER + 'ponse'), - pipe = require(DIR_SERVER + 'pipe'), tryRequire = require(DIR_SERVER + 'tryRequire'), + pipe = tryRequire('pipe-io', {log: true, exit: true}), + apiURL = CloudFunc.apiURL, ConfigPath = DIR + 'json/config.json', diff --git a/lib/server/files.js b/lib/server/files.js index 4ba336a9..993a5412 100644 --- a/lib/server/files.js +++ b/lib/server/files.js @@ -4,8 +4,11 @@ var fs = require('fs'), zlib = require('zlib'), - pipe = require('./pipe'), Util = require('../util'), + + tryRequire = require('./tryRequire'), + pipe = tryRequire('pipe-io', {log: true, exit: true}), + type = Util.type; module.exports.read = function(files, options, callback) { diff --git a/lib/server/github.js b/lib/server/github.js index 598ec671..2b55430b 100644 --- a/lib/server/github.js +++ b/lib/server/github.js @@ -7,7 +7,9 @@ https = require('https'), qs = require('querystring'), - pipe = require(DIR + 'pipe'), + + tryRequire = require('./tryRequire'), + pipe = tryRequire('pipe-io', {log: true, exit: true}), Modules = require(DIR_JSON + 'modules'), Util = require(DIR_LIB + 'util'), diff --git a/lib/server/packer.js b/lib/server/packer.js index e4afbeab..356e9fa9 100644 --- a/lib/server/packer.js +++ b/lib/server/packer.js @@ -12,10 +12,10 @@ tar = tryRequire('tar'), fstream = tryRequire('fstream'), + pipe = tryRequire('pipe-io', {log: true, exit: true}), Util = require(DIR_LIB + 'util'), - files = require(DIR + 'files'), - pipe = require(DIR + 'pipe'); + files = require(DIR + 'files'); exports.pack = function(from, to, callback) { isDir(from, function(is) { diff --git a/lib/server/pipe.js b/lib/server/pipe.js deleted file mode 100644 index 3954c11b..00000000 --- a/lib/server/pipe.js +++ /dev/null @@ -1,91 +0,0 @@ -(function () { - 'use strict'; - - var fs = require('fs'), - Util = require('../util'); - - module.exports = all; - module.exports.getBody = getBody; - - function on(event, emitter, callback) { - var isSet, - listeners = emitter.listeners(event), - callbackStr = '' + callback; - - isSet = listeners.some(function(func) { - return '' + func === callbackStr; - }); - - if (!isSet) - emitter.on(event, callback); - } - - function all(streams, options, callback) { - var n, write, isFSWrite; - - Util.check(arguments, ['streams', 'callback']); - - n = streams.length - 1; - write = streams[n]; - isFSWrite = write instanceof fs.WriteStream; - - Util.exec.if(!isFSWrite, function() { - pipe(streams, options, callback); - }, function(fn) { - write.on('open', fn) - .on('error', callback); - }); - } - - function pipe(streams, options, callback) { - var main, - read = streams[0]; - - if (!callback) { - callback = options; - - options = { - end: true - }; - } - - streams.forEach(function(stream) { - on('error', stream, callback); - - if (!main) - main = stream; - else - main = main.pipe(stream, { - end: options.end - }); - }); - - on('end', read, callback); - } - - /** - * get body of readStream - * - * @param readStream - * @param callback - */ - function getBody(readStream, callback) { - var sended, body = ''; - - Util.check(arguments, ['readStream', 'callback']); - - readStream.on('data', function(chunk) { - body += chunk; - }); - - readStream.once('error', function(error) { - sended = true; - callback(error); - }); - - readStream.once('end', function() { - if (!sended) - callback(null, body); - }); - } -})(); diff --git a/lib/server/rest.js b/lib/server/rest.js index 0cf60310..5c6ae922 100644 --- a/lib/server/rest.js +++ b/lib/server/rest.js @@ -24,12 +24,12 @@ github = require(DIR + 'github'), packer = require(DIR + 'packer'), ponse = require(DIR + 'ponse'), - pipe = require(DIR + 'pipe'), tryRequire = require('./tryRequire'), tryOptions = {log: true, exit: true}, mellow = tryRequire('mellow', tryOptions), flop = tryRequire('flop', tryOptions), + pipe = tryRequire('pipe-io', tryOptions), isWin32 = process.platform === 'win32', diff --git a/lib/server/rest/fs/patch.js b/lib/server/rest/fs/patch.js index 8a73d4a6..5bde9de7 100644 --- a/lib/server/rest/fs/patch.js +++ b/lib/server/rest/fs/patch.js @@ -9,8 +9,10 @@ CloudFunc = require(DIR + 'cloudfunc'), Util = require(DIR + 'util'), - pipe = require(DIR_SERVER + 'pipe'), - patch = require(DIR_SERVER + 'patch'); + patch = require(DIR_SERVER + 'patch'), + tryRequire = require(DIR_SERVER + 'tryRequire'), + + pipe = tryRequire('pipe-io', {log: true, exit: true}); module.exports = function(name, readStream, callback) { var baseName = path.basename(name); diff --git a/lib/server/rest/markdown.js b/lib/server/rest/markdown.js index 5945ba6f..d922f4ea 100644 --- a/lib/server/rest/markdown.js +++ b/lib/server/rest/markdown.js @@ -10,8 +10,11 @@ Util = require(DIR_LIB + 'util'), tryRequire = require(DIR + 'tryRequire'), - pipe = require(DIR + 'pipe'), - mellow = tryRequire('mellow', {log: true, exit: true}), + tryOptions = {log: true, exit: true}, + + mellow = tryRequire('mellow', tryOptions), + pipe = tryRequire('pipe-io', tryOptions), + ponse = require(DIR + 'ponse'), marked = tryRequire('marked'); diff --git a/package.json b/package.json index ac34a734..89ec43e2 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,7 @@ "mellow": "~0.9.7", "minify": "~1.3.0", "nicki": "~1.2.0", + "pipe-io": "~1.1.1", "socket.io": "~1.2.0", "tar": "~1.0.1" },