UNPKG

@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
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'; };