mirror of
https://github.com/eleith/emailjs.git
synced 2024-07-05 20:10:37 +00:00
use Error for handling errors so stack trace can be read
This commit is contained in:
parent
5bc846c269
commit
13916d11f2
@ -99,11 +99,11 @@ Client.prototype =
|
||||
self._poll();
|
||||
}
|
||||
else
|
||||
callback({code:-1, message:why}, msg);
|
||||
callback(new Error(why), msg);
|
||||
});
|
||||
}
|
||||
else
|
||||
callback({code:-1, message:"message is not a valid Message instance"}, msg);
|
||||
callback(new Error("message is not a valid Message instance"), msg);
|
||||
},
|
||||
|
||||
_sendsmtp: function(stack, next)
|
||||
|
@ -1,16 +1,21 @@
|
||||
var SMTPError =
|
||||
module.exports = function(message, code, error, smtp)
|
||||
{
|
||||
COULDNOTCONNECT: 1,
|
||||
BADRESPONSE: 2,
|
||||
AUTHFAILED: 3,
|
||||
TIMEDOUT: 4,
|
||||
ERROR: 5,
|
||||
NOCONNECTION: 6,
|
||||
AUTHNOTSUPPORTED: 7,
|
||||
CONNECTIONCLOSED: 8,
|
||||
CONNECTIONENDED: 9,
|
||||
CONNECTIONAUTH: 10
|
||||
}
|
||||
var err = new Error(message);
|
||||
err.code = code;
|
||||
if(error)
|
||||
err.previous = error;
|
||||
err.smtp = smtp;
|
||||
|
||||
for(var each in SMTPError)
|
||||
exports[each] = SMTPError[each];
|
||||
return err;
|
||||
};
|
||||
|
||||
module.exports.COULDNOTCONNECT = 1;
|
||||
module.exports.BADRESPONSE = 2;
|
||||
module.exports.AUTHFAILED = 3;
|
||||
module.exports.TIMEDOUT = 4;
|
||||
module.exports.ERROR = 5;
|
||||
module.exports.NOCONNECTION = 6;
|
||||
module.exports.AUTHNOTSUPPORTED = 7;
|
||||
module.exports.CONNECTIONCLOSED = 8;
|
||||
module.exports.CONNECTIONENDED = 9;
|
||||
module.exports.CONNECTIONAUTH = 10;
|
||||
|
@ -19,12 +19,12 @@ var SMTPResponse = function(stream, timeout, onerror)
|
||||
|
||||
error = function(err)
|
||||
{
|
||||
stream.emit('response', {code:SMTPError.ERROR, message:"connection encountered an error", error:err});
|
||||
stream.emit('response', SMTPError('connection encountered an error', SMTPError.ERROR, err));
|
||||
},
|
||||
|
||||
timedout = function(err)
|
||||
{
|
||||
stream.emit('response', {code:SMTPError.TIMEDOUT, message:"timedout while connecting to smtp server", error:err});
|
||||
stream.emit('response', SMTPError('timedout while connecting to smtp server', SMTPError.TIMEDOUT, err));
|
||||
},
|
||||
|
||||
watch = function(data)
|
||||
@ -39,12 +39,12 @@ var SMTPResponse = function(stream, timeout, onerror)
|
||||
|
||||
close = function(err)
|
||||
{
|
||||
stream.emit('response', {code:SMTPError.CONNECTIONCLOSED, message:"connection has closed", error:err});
|
||||
stream.emit('response', SMTPError('connection has closed', SMTPError.CONNECTIONCLOSED, err));
|
||||
},
|
||||
|
||||
end = function(err)
|
||||
{
|
||||
stream.emit('response', {code:SMTPError.CONNECTIONENDED, message:"connection has ended", error:err});
|
||||
stream.emit('response', SMTPError('connection has ended', SMTPError.CONNECTIONENDED, err));
|
||||
};
|
||||
|
||||
this.stop = function(err)
|
||||
|
14
smtp/smtp.js
14
smtp/smtp.js
@ -121,7 +121,7 @@ SMTP.prototype =
|
||||
if(typeof(self.ssl) != 'boolean' && !self.sock.authorized)
|
||||
{
|
||||
self.close(true);
|
||||
caller(callback, {code:SMTPError.CONNECTIONAUTH, message:"could not establish an ssl connection", error:err});
|
||||
caller(callback, SMTPError('could not establish an ssl connection', SMTPError.CONNECTIONAUTH, err));
|
||||
}
|
||||
else
|
||||
self._secure = true;
|
||||
@ -130,7 +130,7 @@ SMTP.prototype =
|
||||
else
|
||||
{
|
||||
self.close(true);
|
||||
caller(callback, {code:SMTPError.COULDNOTCONNECT, error:err});
|
||||
caller(callback, SMTPError("could not connect", SMTPError.COULDNOTCONNECT, err));
|
||||
}
|
||||
};
|
||||
|
||||
@ -152,7 +152,7 @@ SMTP.prototype =
|
||||
{
|
||||
log("response (data): " + msg.data);
|
||||
self.quit();
|
||||
caller(callback, {code:SMTPError.BADRESPONSE, message:"bad response on connection", smtp:msg.data, error:err});
|
||||
caller(callback, SMTPError("bad response on connection", SMTPError.BADRESPONSE, err, msg.data));
|
||||
}
|
||||
};
|
||||
|
||||
@ -200,7 +200,7 @@ SMTP.prototype =
|
||||
else
|
||||
{
|
||||
self.close(true);
|
||||
caller(callback, {code:SMTPError.NOCONNECTION, message:"no connection has been established"});
|
||||
caller(callback, SMTPError('no connection has been established', SMTPError.NOCONNECTION));
|
||||
}
|
||||
},
|
||||
|
||||
@ -220,7 +220,7 @@ SMTP.prototype =
|
||||
caller(callback, err, msg.data, msg.message);
|
||||
|
||||
else
|
||||
caller(callback, {code:SMTPError.BADRESPONSE, message:"bad response on command '" + cmd.split(' ')[0] + "'", smtp:msg.data});
|
||||
caller(callback, SMTPError("bad response on command '" + cmd.split(' ')[0] + "'", SMTPError.BADRESPONSE, null, msg.data));
|
||||
}
|
||||
};
|
||||
|
||||
@ -480,7 +480,7 @@ SMTP.prototype =
|
||||
var failed = function(err, data)
|
||||
{
|
||||
self.loggedin = false;
|
||||
caller(callback, {code:SMTPError.AUTHFAILED, message:"authorization failed", smtp:data, error:err.error});
|
||||
caller(callback, SMTPError('authorization.failed', SMTPError.AUTHFAILED, err, data));
|
||||
};
|
||||
|
||||
var response = function(err, data)
|
||||
@ -535,7 +535,7 @@ SMTP.prototype =
|
||||
self.command("AUTH " + AUTH_METHODS.PLAIN + " " + encode_plain(login.user(), login.password()), response, [235, 503]);
|
||||
|
||||
else if(!method)
|
||||
caller(callback, {code:SMTPError.AUTHNOTSUPPORTED, message:"no form of authorization supported", smtp:data});
|
||||
caller(callback, SMTPError('no form of authorization supported', SMTPError.AUTHNOTSUPPORTED, null, data));
|
||||
};
|
||||
|
||||
self.ehlo_or_helo_if_needed(initiate, domain);
|
||||
|
Loading…
Reference in New Issue
Block a user