refactor(rest) add putFile

This commit is contained in:
coderaiser 2013-08-15 14:34:07 +00:00
parent 49e0d4de6d
commit b2fc62334e

View file

@ -94,7 +94,7 @@
}
function onFS(pParams) {
var p, lError, lMsg, lName, lZlib, lZipStream, lReadStream, lWriteStream, lSize, lQuery,
var p, lError, lMsg, lName, lZip, lReadStream, lSize, lQuery,
lRet = main.checkParams(pParams);
if (lRet){
@ -145,41 +145,32 @@
});
else {
lName = p.name;
lError = function(pError) {
main.sendError(pParams, pError);
};
if (lQuery === 'zip') {
lZlib = zlib.createGzip();
lReadStream = fs.createReadStream(lName);
lReadStream.on('error', lError);
lReadStream = lReadStream.pipe(lZlib);
lName += '.' + lQuery;
lMsg = lQuery;
lZip = true;
lName = p.name + '.zip';
lReadStream = fs.createReadStream(p.name);
} else {
lReadStream = p.request;
lMsg = 'save';
lName = p.name;
lReadStream = p.request;
}
lWriteStream = fs.createWriteStream(lName);
lWriteStream.on('error', lError);
lReadStream.on('error', lError);
lWriteStream.on('open', function() {
lReadStream.pipe(lWriteStream);
lReadStream.on('end', function() {
lName = path.basename(lName);
main.sendResponse(pParams, lMsg + ': ok("' + lName +'")');
});
putFile({
name : lName,
read : lReadStream,
zip : lZip,
callback : function(pError, pMsg) {
if (pError)
main.sendError(pParams, pError);
else {
lName = path.basename(lName);
main.sendResponse(pParams, pMsg + ': ok("' + p.name +'")');
}
}
});
}
break;
case 'DELETE':
if (lQuery === 'dir')
fs.rmdir(p.name, function(pError){
@ -385,4 +376,37 @@
});
}
function putFile(pParams) {
var p, lZlib, lError, lMsg, lWrite,
lRet = Util.checkObj(pParams, ['name', 'read']);
if (lRet) {
p = pParams;
lError = function(pError) {
Util.exec(p.callback, pError);
};
if (!p.zip) {
lMsg = 'save';
} else {
lZlib = zlib.createGzip();
p.read.on('error', lError);
p.read = p.read.pipe(lZlib);
lMsg = 'zip';
}
lWrite = fs.createWriteStream(p.name);
lWrite.on('error', lError);
p.read.on('error', lError);
lWrite.on('open', function() {
p.read.pipe(lWrite);
p.read.on('end', function() {
Util.exec(p.callback, null, lMsg);
});
});
}
}
})();