From 2cea2c70bca45cb5a8a951753e1acd5c2ea692c2 Mon Sep 17 00:00:00 2001 From: coderaiser Date: Tue, 19 Nov 2013 09:33:51 +0000 Subject: [PATCH] refactor(hash) change structure --- lib/server/hash.js | 46 ++++++++++++++++++++++------------------------ lib/server/rest.js | 9 ++++----- 2 files changed, 26 insertions(+), 29 deletions(-) diff --git a/lib/server/hash.js b/lib/server/hash.js index a4f88c5c..70a1b59d 100644 --- a/lib/server/hash.js +++ b/lib/server/hash.js @@ -2,37 +2,35 @@ 'use strict'; var util = require('util'), + crypto = require('crypto'), Writable = require('stream').Writable; - - util.inherits(HashProto, Writable); - object.create = new HashProto().create; - - function HashProto() { - var shasum, - crypto = require('crypto'); + object.create = function() { + var ret; - this.create = function() { - var ws = new Writable(); - - ws._write = write; - ws.get = get; - - shasum = crypto.createHash('sha1'); - - return ws; + if (Writable) { + util.inherits(WS, Writable); + ret = new WS(); + } + + return ret; + }; + + function WS(opt) { + var sha = crypto.createHash('sha1'); + + Writable.call(this, opt); + + this._write = function(chunk, enc, next) { + sha.update(chunk); + next(); }; - function get() { - var hex = shasum.digest('hex'); + this.get = function() { + var hex = sha.digest('hex'); return hex; - } - - function write (chunk, enc, next) { - shasum.update(chunk); - next(); - } + }; } })(this); diff --git a/lib/server/rest.js b/lib/server/rest.js index c3822079..e464e564 100644 --- a/lib/server/rest.js +++ b/lib/server/rest.js @@ -117,13 +117,13 @@ }); }); else if (Util.strCmp(lQuery, 'hash')) { - if (!Hash) { + hash = Hash.create(); + + if (!hash) { lMsg = 'not suported, try update node'; lMsg = CloudFunc.formatMsg('hash', lMsg, 'error'); sendError(p, lMsg); - } else { - hash = Hash.create(); - + } else pipe.create({ from : p.name, write : hash, @@ -134,7 +134,6 @@ }); } }); - } } else fs.stat(p.name, function(pError, pStat) { checkSendError(pError, p, function() {