diff options
author | scottmotte <scott@scottmotte.com> | 2013-07-22 19:44:39 +0000 |
---|---|---|
committer | scottmotte <scott@scottmotte.com> | 2013-07-22 20:35:27 +0000 |
commit | 43ac2f7ba76754580c96dae840d6d15c225b717f (patch) | |
tree | 54862b9b0b75f92b8033638a6b67acce845423b4 /lib | |
parent | 21cbabbafce4e9c6ba773bb7ee9e7ae5cdf493da (diff) | |
download | sendgrid-nodejs-43ac2f7ba76754580c96dae840d6d15c225b717f.zip sendgrid-nodejs-43ac2f7ba76754580c96dae840d6d15c225b717f.tar.gz sendgrid-nodejs-43ac2f7ba76754580c96dae840d6d15c225b717f.tar.bz2 |
Simplify's filehandler a bit to move away from step.js
Diffstat (limited to 'lib')
-rw-r--r-- | lib/email.js | 44 | ||||
-rw-r--r-- | lib/sendgrid.js | 17 |
2 files changed, 18 insertions, 43 deletions
diff --git a/lib/email.js b/lib/email.js index dca2b11..a014717 100644 --- a/lib/email.js +++ b/lib/email.js @@ -1,9 +1,10 @@ "use strict"; -var Step = require('step'); -var SmtpapiHeaders = require('./smtpapi_headers'); -var FileHandler = require('./file_handler'); -var _ = require('underscore'); +var SmtpapiHeaders = require('./smtpapi_headers'); +var FileHandler = require('./file_handler'); +var _ = require('underscore'); +var request = require('request'); +var fs = require('fs'); /** * Class to handle storing the properties relative to an email. @@ -186,31 +187,6 @@ Email.prototype.addFile = function(file_object) { }; /** - * This method is used to process files. It uses step.js to asychronously load the contents of each file. - * - * @param {function} callback The callback to call when the method returns - */ -Email.prototype.processFiles = function(callback) { - var self = this; - - function handleFiles() { - for(var i in self.files) { - self.files[i].loadContent(this.parallel()); - } - }; - - function finish(err, messages) { - if (err) { - callback(false, messages); - } else { - callback(true); - } - }; - - Step(handleFiles, finish); -}; - -/** * This method returns the email object is a format to be consumed by the SendGrid.web * using the web api * @@ -236,7 +212,15 @@ Email.prototype.toWebFormat = function() { if (this.files) { for (var index in this.files) { - var file = this.files[index]; + var content; + var file = this.files[index]; + + if (file.url) { + file.content = request(file.url); + } else if (file.path) { + file.content = fs.createReadStream(file.path); + } + web['files[' + file.filename + ']'] = { filename : file.filename, content : file.content || " ", diff --git a/lib/sendgrid.js b/lib/sendgrid.js index 68752a9..991f9e4 100644 --- a/lib/sendgrid.js +++ b/lib/sendgrid.js @@ -3,8 +3,9 @@ var package_json = require('./../package.json'); var nodemailer = require('nodemailer'); var request = require('request'); - -var Email = require('./email'); +var MailComposer = require('mailcomposer').MailComposer; +var mailcomposer = new MailComposer(); +var Email = require('./email'); /* @@ -88,17 +89,7 @@ SendGrid.prototype.web = function(email, callback) { } } - if (email.hasFiles()) { - email.processFiles(function(success, message) { - if (success) { - send_web(); - } else { - cb(false, message); - } - }); - } else { - send_web(); - } + send_web(); }; /* |