50 lines
1.2 KiB
JavaScript
Executable File
50 lines
1.2 KiB
JavaScript
Executable File
/**
|
|
* `InternalOAuthError` error.
|
|
*
|
|
* InternalOAuthError wraps errors generated by node-oauth. By wrapping these
|
|
* objects, error messages can be formatted in a manner that aids in debugging
|
|
* OAuth issues.
|
|
*
|
|
* @constructor
|
|
* @param {String} [message]
|
|
* @param {Object|Error} [err]
|
|
* @api public
|
|
*/
|
|
function InternalOAuthError(message, err) {
|
|
Error.call(this);
|
|
Error.captureStackTrace(this, this.constructor);
|
|
this.name = this.constructor.name;
|
|
this.message = message;
|
|
this.oauthError = err;
|
|
}
|
|
|
|
/**
|
|
* Inherit from `Error`.
|
|
*/
|
|
InternalOAuthError.prototype.__proto__ = Error.prototype;
|
|
|
|
/**
|
|
* Returns a string representing the error.
|
|
*
|
|
* @return {String}
|
|
* @api public
|
|
*/
|
|
InternalOAuthError.prototype.toString = function() {
|
|
var m = this.name;
|
|
if (this.message) { m += ': ' + this.message; }
|
|
if (this.oauthError) {
|
|
if (this.oauthError instanceof Error) {
|
|
m = this.oauthError.toString();
|
|
} else if (this.oauthError.statusCode && this.oauthError.data) {
|
|
m += ' (status: ' + this.oauthError.statusCode + ' data: ' + this.oauthError.data + ')';
|
|
}
|
|
}
|
|
return m;
|
|
};
|
|
|
|
|
|
/**
|
|
* Expose `InternalOAuthError`.
|
|
*/
|
|
module.exports = InternalOAuthError;
|