summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorscottmotte <scott@scottmotte.com>2013-07-22 19:44:39 +0000
committerscottmotte <scott@scottmotte.com>2013-07-22 20:35:27 +0000
commit43ac2f7ba76754580c96dae840d6d15c225b717f (patch)
tree54862b9b0b75f92b8033638a6b67acce845423b4 /lib
parent21cbabbafce4e9c6ba773bb7ee9e7ae5cdf493da (diff)
downloadsendgrid-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.js44
-rw-r--r--lib/sendgrid.js17
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();
};
/*