@octonary/mailgun-js
Version:
Simple Node.js helper module for Mailgun API. Forked to fix IE issues with ` character.
44 lines (39 loc) • 1.38 kB
JavaScript
var isStream = require('is-stream');
/**
* Creates an Attachment object.
* @param options Buffer representing attachment data
* data - one of:
* - string representing the full file path
* - buffer of the data
* - readable interface (stream)
* filename - optionally the filename to be used for the attachment, should be used if passing
* buffer or stream in the data param
* contentType - the content type for header info. Should be passed in if using stream for data
* knownLength - the known length of the data. Should be passed in if using stream for data
* @constructor
*/
var Attachment = module.exports = function Attachment(options) {
var data = options.data;
if (data) {
if (typeof data === 'string' || Buffer.isBuffer(data) || isStream(data)) {
this.data = data;
}
}
this.filename = options.filename;
this.contentType = options.contentType;
this.knownLength = options.knownLength;
};
Attachment.prototype.getType = function () {
if (this.data) {
if (typeof this.data === 'string') {
return 'path';
}
else if (Buffer.isBuffer(this.data)) {
return 'buffer';
}
else if (isStream(this.data)) {
return 'stream';
}
}
return 'unknown';
};