Updated Branches: refs/heads/master fdf0d8545 -> 0e28f8266
[all] Add argscheck to FileTransfer.js Project: http://git-wip-us.apache.org/repos/asf/cordova-js/repo Commit: http://git-wip-us.apache.org/repos/asf/cordova-js/commit/0e28f826 Tree: http://git-wip-us.apache.org/repos/asf/cordova-js/tree/0e28f826 Diff: http://git-wip-us.apache.org/repos/asf/cordova-js/diff/0e28f826 Branch: refs/heads/master Commit: 0e28f8266c225b2de72b9200df22dc0885c68790 Parents: fdf0d85 Author: Andrew Grieve <[email protected]> Authored: Tue Jan 8 20:17:36 2013 -0500 Committer: Andrew Grieve <[email protected]> Committed: Thu Jan 10 09:34:32 2013 -0500 ---------------------------------------------------------------------- lib/common/plugin/FileTransfer.js | 19 +++++++++---------- 1 files changed, 9 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cordova-js/blob/0e28f826/lib/common/plugin/FileTransfer.js ---------------------------------------------------------------------- diff --git a/lib/common/plugin/FileTransfer.js b/lib/common/plugin/FileTransfer.js index 00dbf56..7e7af61 100644 --- a/lib/common/plugin/FileTransfer.js +++ b/lib/common/plugin/FileTransfer.js @@ -19,7 +19,8 @@ * */ -var exec = require('cordova/exec'), +var argscheck = require('cordova/argscheck'), + exec = require('cordova/exec'), FileTransferError = require('cordova/plugin/FileTransferError'), ProgressEvent = require('cordova/plugin/ProgressEvent'); @@ -53,8 +54,7 @@ var FileTransfer = function() { * @param trustAllHosts {Boolean} Optional trust all hosts (e.g. for self-signed certs), defaults to false */ FileTransfer.prototype.upload = function(filePath, server, successCallback, errorCallback, options, trustAllHosts) { - // sanity parameter checking - if (!filePath || !server) throw new Error("FileTransfer.upload requires filePath and server URL parameters at the minimum."); + argscheck.checkArgs('ssFFO*', 'FileTransfer.upload', arguments); // check for options var fileKey = null; var fileName = null; @@ -78,7 +78,7 @@ FileTransfer.prototype.upload = function(filePath, server, successCallback, erro } } - var fail = function(e) { + var fail = errorCallback && function(e) { var error = new FileTransferError(e.code, e.source, e.target, e.http_status); errorCallback(error); }; @@ -87,10 +87,10 @@ FileTransfer.prototype.upload = function(filePath, server, successCallback, erro var win = function(result) { if (typeof result.lengthComputable != "undefined") { if (self.onprogress) { - return self.onprogress(newProgressEvent(result)); + self.onprogress(newProgressEvent(result)); } } else { - return successCallback(result); + successCallback && successCallback(result); } }; exec(win, fail, 'FileTransfer', 'upload', [filePath, server, fileKey, fileName, mimeType, params, trustAllHosts, chunkedMode, headers, this._id]); @@ -105,15 +105,14 @@ FileTransfer.prototype.upload = function(filePath, server, successCallback, erro * @param trustAllHosts {Boolean} Optional trust all hosts (e.g. for self-signed certs), defaults to false */ FileTransfer.prototype.download = function(source, target, successCallback, errorCallback, trustAllHosts) { - // sanity parameter checking - if (!source || !target) throw new Error("FileTransfer.download requires source URI and target URI parameters at the minimum."); + argscheck.checkArgs('ssFF*', 'FileTransfer.download', arguments); var self = this; var win = function(result) { if (typeof result.lengthComputable != "undefined") { if (self.onprogress) { return self.onprogress(newProgressEvent(result)); } - } else { + } else if (successCallback) { var entry = null; if (result.isDirectory) { entry = new (require('cordova/plugin/DirectoryEntry'))(); @@ -129,7 +128,7 @@ FileTransfer.prototype.download = function(source, target, successCallback, erro } }; - var fail = function(e) { + var fail = errorCallback && function(e) { var error = new FileTransferError(e.code, e.source, e.target, e.http_status); errorCallback(error); };
