UNPKG

twiliojs-api

Version:

Module to invoke twilio.com services

43 lines (35 loc) 1.43 kB
/* * Module's dependencies */ var Util = require("./lib/util.js"); /** * Twilio class * Handles invocations to Twilios's methods. * @param settings {object} required * Twilio uses two accountSids to determine which account an API request is coming from. The “Account SID”, which acts as a accountToken, and the “Auth Token” which acts as a password. * - accountSid: {string} Account SID * - accountToken: {string} Auth Token * @returns {Twilio} * @api public */ var Twilio = function(config) { //sets default values config.apiEndpoint = config.apiEndpoint || "https://api.twilio.com/2010-04-01"; // validations if (!config.accountSid || typeof config.accountSid !== 'string') throw new Error("'config.accountSid' property is missing or invalid."); if (!config.accountToken || typeof config.accountToken !== 'string') throw new Error("'config.accountToken' property is missing or invalid."); config.apiEndpoint += "/Accounts/"; config.apiEndpoint += config.accountSid; // keeps a reference to the configuration. var globalConfig = config; Object.defineProperty(this, "config", { enumerable: false, configurable: false, writable: false, value: globalConfig }); // Adds public methods to the instance var util = new Util(config); util.hook(this,require("./lib/methods")); } module.exports = Twilio;