@bandwidth/bxml
Advanced tools
Comparing version 1.0.0 to 2.0.0
@@ -22,3 +22,3 @@ /* | ||
*/ | ||
toXml() { | ||
toBxml() { | ||
var xml = xmlbuilder.create("Response", { | ||
@@ -25,0 +25,0 @@ version: "1.0", |
{ | ||
"name": "@bandwidth/bxml", | ||
"version": "1.0.0", | ||
"version": "2.0.0", | ||
"description": "Generator for Bandwidth's BXML", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
114
README.md
@@ -13,6 +13,11 @@ # NodeJS Bandwidth BXML | ||
### Client Initialization | ||
```js | ||
var BxmlBuilder = require("@bandwidth/bxml"); | ||
``` | ||
var BxmlBuilder = require("@bandwidth/bxml"); | ||
//Hangup response | ||
### Hangup Response | ||
```js | ||
var hangup = new BxmlBuilder.Verbs.Hangup(); | ||
@@ -23,7 +28,10 @@ | ||
console.log(response.toXml()); | ||
console.log(response.toBxml()); | ||
``` | ||
//PlayAudio response | ||
### PlayAudio Response | ||
```js | ||
var playAudio = new BxmlBuilder.Verbs.PlayAudio(); | ||
playAudio.setUrl("https://test.com"); | ||
playAudio.setUrl("https:###test.com"); | ||
playAudio.setUsername("user"); | ||
@@ -35,5 +43,8 @@ playAudio.setPassword("pass"); | ||
console.log(response.toXml()); | ||
console.log(response.toBxml()); | ||
``` | ||
//SpeakSentence response | ||
### SpeakSentence Response | ||
```js | ||
var speakSentence = new BxmlBuilder.Verbs.SpeakSentence(); | ||
@@ -48,5 +59,8 @@ speakSentence.setSentence("test"); | ||
console.log(response.toXml()); | ||
console.log(response.toBxml()); | ||
``` | ||
//SendDtmf response | ||
### SendDtmf Response | ||
```js | ||
var sendDtmf = new BxmlBuilder.Verbs.SendDtmf(); | ||
@@ -58,5 +72,8 @@ sendDtmf.setDtmf("123"); | ||
console.log(response.toXml()); | ||
console.log(response.toBxml()); | ||
``` | ||
//Forward response | ||
### Forward Response | ||
```js | ||
var forward = new BxmlBuilder.Verbs.Forward(); | ||
@@ -72,5 +89,8 @@ forward.setTo("+18888888888"); | ||
console.log(response.toXml()); | ||
console.log(response.toBxml()); | ||
``` | ||
//Pause response | ||
### Pause Response | ||
```js | ||
var pause = new BxmlBuilder.Verbs.Pause(); | ||
@@ -82,9 +102,12 @@ pause.setDuration(3); | ||
console.log(response.toXml()); | ||
console.log(response.toBxml()); | ||
``` | ||
//Redirect response | ||
### Redirect Response | ||
```js | ||
var redirect = new BxmlBuilder.Verbs.Redirect(); | ||
redirect.setUsername("user"); | ||
redirect.setPassword("pass"); | ||
redirect.setRedirectUrl("https://test.com"); | ||
redirect.setRedirectUrl("https:###test.com"); | ||
redirect.setRedirectMethod("GET"); | ||
@@ -96,5 +119,8 @@ redirect.setTag("tag"); | ||
console.log(response.toXml()); | ||
console.log(response.toBxml()); | ||
``` | ||
//Gather response with a nested SpeakSentence | ||
### Gather Response with a nested SpeakSentence | ||
```js | ||
var speakSentence = new BxmlBuilder.Verbs.SpeakSentence(); | ||
@@ -107,3 +133,3 @@ speakSentence.setSentence("test"); | ||
var gather = new BxmlBuilder.Verbs.Gather(); | ||
gather.setGatherUrl("https://test.com"); | ||
gather.setGatherUrl("https:###test.com"); | ||
gather.setGatherMethod("GET"); | ||
@@ -122,7 +148,10 @@ gather.setUsername("user"); | ||
console.log(response.toXml()); | ||
console.log(response.toBxml()); | ||
``` | ||
//Gather response with a nested PlayAudio | ||
### Gather Response with a nested PlayAudio | ||
```js | ||
var playAudio = new BxmlBuilder.Verbs.PlayAudio(); | ||
playAudio.setUrl("https://test.com"); | ||
playAudio.setUrl("https:###test.com"); | ||
playAudio.setUsername("user"); | ||
@@ -132,3 +161,3 @@ playAudio.setPassword("pass"); | ||
var gather = new BxmlBuilder.Verbs.Gather(); | ||
gather.setGatherUrl("https://test.com"); | ||
gather.setGatherUrl("https:###test.com"); | ||
gather.setGatherMethod("GET"); | ||
@@ -147,7 +176,10 @@ gather.setUsername("user"); | ||
console.log(response.toXml()); | ||
console.log(response.toBxml()); | ||
``` | ||
//Gather response with no nested verbs | ||
### Gather Response with no nested verbs | ||
```js | ||
var gather = new BxmlBuilder.Verbs.Gather(); | ||
gather.setGatherUrl("https://test.com"); | ||
gather.setGatherUrl("https:###test.com"); | ||
gather.setGatherMethod("GET"); | ||
@@ -166,8 +198,11 @@ gather.setUsername("user"); | ||
console.log(response.toXml()); | ||
console.log(response.toBxml()); | ||
``` | ||
//Transfer response | ||
### Transfer Response | ||
```js | ||
var number1 = new BxmlBuilder.Verbs.PhoneNumber(); | ||
number1.setNumber("+17777777777"); | ||
number1.setTransferAnswerUrl("https://test.com"); | ||
number1.setTransferAnswerUrl("https:###test.com"); | ||
number1.setTransferAnswerMethod("GET"); | ||
@@ -180,3 +215,3 @@ number1.setUsername("user"); | ||
number2.setNumber("+17777777779"); | ||
number2.setTransferAnswerUrl("https://test2.com"); | ||
number2.setTransferAnswerUrl("https:###test2.com"); | ||
number2.setTransferAnswerMethod("POST"); | ||
@@ -191,3 +226,3 @@ number2.setUsername("user2"); | ||
transfer.setTag("tagTransfer"); | ||
transfer.setTransferCompleteUrl("https://testtransfer.com"); | ||
transfer.setTransferCompleteUrl("https:###testtransfer.com"); | ||
transfer.setTransferCompleteMethod("GET"); | ||
@@ -204,7 +239,10 @@ transfer.setUsername("usertransfer"); | ||
console.log(response.toXml()); | ||
console.log(response.toBxml()); | ||
``` | ||
//PlayAudio and SpeakSentence together response | ||
### PlayAudio and SpeakSentence | ||
```js | ||
var playAudio = new BxmlBuilder.Verbs.PlayAudio(); | ||
playAudio.setUrl("https://test.com"); | ||
playAudio.setUrl("https:###test.com"); | ||
playAudio.setUsername("user"); | ||
@@ -223,6 +261,6 @@ playAudio.setPassword("pass"); | ||
console.log(response.toXml()); | ||
console.log(response.toBxml()); | ||
``` | ||
### Running tests | ||
## Running tests | ||
@@ -235,6 +273,6 @@ Tests can be run by executing | ||
The dependency for XSD validation (`xsd-schema-validator`) requires the environment variable `JAVA_HOME` to be set. More information can be found on that package's [github page](https://github.com/nikku/node-xsd-schema-validator) | ||
The dependency for XSD validation (`xsd-schema-validator`) requires the environment variable `JAVA_HOME` to be set. More information can be found on that package's [github page](https:###github.com/nikku/node-xsd-schema-validator) | ||
## BXML Documentation | ||
Bandwidth's BXML documentation can be found on the [Bandwidth Developer Docs BXML page](https://dev.bandwidth.com/voice/bxml/about.html) | ||
Bandwidth's BXML documentation can be found on the [Bandwidth Developer Docs BXML page](https:###dev.bandwidth.com/voice/bxml/about.html) |
@@ -19,3 +19,3 @@ /** | ||
console.log(response.toXml()); | ||
console.log(response.toBxml()); | ||
@@ -31,3 +31,3 @@ //PlayAudio response | ||
console.log(response.toXml()); | ||
console.log(response.toBxml()); | ||
@@ -44,3 +44,3 @@ //SpeakSentence response | ||
console.log(response.toXml()); | ||
console.log(response.toBxml()); | ||
@@ -54,3 +54,3 @@ //SendDtmf response | ||
console.log(response.toXml()); | ||
console.log(response.toBxml()); | ||
@@ -68,3 +68,3 @@ //Forward response | ||
console.log(response.toXml()); | ||
console.log(response.toBxml()); | ||
@@ -78,3 +78,3 @@ //Pause response | ||
console.log(response.toXml()); | ||
console.log(response.toBxml()); | ||
@@ -92,3 +92,3 @@ //Redirect response | ||
console.log(response.toXml()); | ||
console.log(response.toBxml()); | ||
@@ -117,3 +117,3 @@ //Gather response with a nested SpeakSentence | ||
console.log(response.toXml()); | ||
console.log(response.toBxml()); | ||
@@ -141,3 +141,3 @@ //Gather response with a nested PlayAudio | ||
console.log(response.toXml()); | ||
console.log(response.toBxml()); | ||
@@ -160,3 +160,3 @@ //Gather response with no nested verbs | ||
console.log(response.toXml()); | ||
console.log(response.toBxml()); | ||
@@ -196,3 +196,3 @@ //Transfer response | ||
console.log(response.toXml()); | ||
console.log(response.toBxml()); | ||
@@ -215,2 +215,2 @@ //PlayAudio and SpeakSentence together response | ||
console.log(response.toXml()); | ||
console.log(response.toBxml()); |
@@ -15,3 +15,3 @@ /** | ||
describe("Response", function() { | ||
describe("#toXml()", function() { | ||
describe("#toBxml()", function() { | ||
it("should return empty response tag with no verbs", function() { | ||
@@ -21,3 +21,3 @@ var response = new BxmlBuilder.Response() | ||
var expectedString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Response/>"; | ||
assert.equal(response.toXml(), expectedString); | ||
assert.equal(response.toBxml(), expectedString); | ||
}); | ||
@@ -29,3 +29,3 @@ }); | ||
describe("Hangup", function() { | ||
describe("#toXml()", function() { | ||
describe("#toBxml()", function() { | ||
it("should generate a proper Hangup tag", function() { | ||
@@ -38,5 +38,5 @@ var hangup = new BxmlBuilder.Verbs.Hangup(); | ||
var expectedString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Response><Hangup/></Response>"; | ||
assert.equal(response.toXml(), expectedString); | ||
assert.equal(response.toBxml(), expectedString); | ||
//validate against xsd | ||
validator.validateXML(response.toXml(), "schema.xsd", function(err, result) { | ||
validator.validateXML(response.toBxml(), "schema.xsd", function(err, result) { | ||
if (err) { | ||
@@ -53,3 +53,3 @@ throw err; | ||
describe("PlayAudio", function() { | ||
describe("#toXml()", function() { | ||
describe("#toBxml()", function() { | ||
it("should generate a proper PlayAudio tag", function() { | ||
@@ -65,5 +65,5 @@ var playAudio = new BxmlBuilder.Verbs.PlayAudio(); | ||
var expectedString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Response><PlayAudio username=\"user\" password=\"pass\">https://test.com</PlayAudio></Response>"; | ||
assert.equal(response.toXml(), expectedString); | ||
assert.equal(response.toBxml(), expectedString); | ||
//validate against xsd | ||
validator.validateXML(response.toXml(), "schema.xsd", function(err, result) { | ||
validator.validateXML(response.toBxml(), "schema.xsd", function(err, result) { | ||
if (err) { | ||
@@ -80,3 +80,3 @@ throw err; | ||
describe("SpeakSentence", function() { | ||
describe("#toXml()", function() { | ||
describe("#toBxml()", function() { | ||
it("should generate a proper SpeakSentence tag", function() { | ||
@@ -93,5 +93,5 @@ var speakSentence = new BxmlBuilder.Verbs.SpeakSentence(); | ||
var expectedString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Response><SpeakSentence voice=\"susan\" locale=\"en_US\" gender=\"female\">test</SpeakSentence></Response>"; | ||
assert.equal(response.toXml(), expectedString); | ||
assert.equal(response.toBxml(), expectedString); | ||
//validate against xsd | ||
validator.validateXML(response.toXml(), "schema.xsd", function(err, result) { | ||
validator.validateXML(response.toBxml(), "schema.xsd", function(err, result) { | ||
if (err) { | ||
@@ -108,3 +108,3 @@ throw err; | ||
describe("SendDtmf", function() { | ||
describe("#toXml()", function() { | ||
describe("#toBxml()", function() { | ||
it("should generate a proper SendDtmf tag", function() { | ||
@@ -118,5 +118,5 @@ var sendDtmf = new BxmlBuilder.Verbs.SendDtmf(); | ||
var expectedString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Response><SendDtmf>123</SendDtmf></Response>"; | ||
assert.equal(response.toXml(), expectedString); | ||
assert.equal(response.toBxml(), expectedString); | ||
//validate against xsd | ||
validator.validateXML(response.toXml(), "schema.xsd", function(err, result) { | ||
validator.validateXML(response.toBxml(), "schema.xsd", function(err, result) { | ||
if (err) { | ||
@@ -133,3 +133,3 @@ throw err; | ||
describe("Forward", function() { | ||
describe("#toXml()", function() { | ||
describe("#toBxml()", function() { | ||
it("should generate a proper Forward tag", function() { | ||
@@ -147,5 +147,5 @@ var forward = new BxmlBuilder.Verbs.Forward(); | ||
var expectedString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Response><Forward to=\"+18888888888\" from=\"+19999999999\" callTimeout=\"3\" diversionTreatment=\"none\" diversionReason=\"away\"/></Response>"; | ||
assert.equal(response.toXml(), expectedString); | ||
assert.equal(response.toBxml(), expectedString); | ||
//validate against xsd | ||
validator.validateXML(response.toXml(), "schema.xsd", function(err, result) { | ||
validator.validateXML(response.toBxml(), "schema.xsd", function(err, result) { | ||
if (err) { | ||
@@ -162,3 +162,3 @@ throw err; | ||
describe("Pause", function() { | ||
describe("#toXml()", function() { | ||
describe("#toBxml()", function() { | ||
it("should generate a proper Pause tag", function() { | ||
@@ -172,5 +172,5 @@ var pause = new BxmlBuilder.Verbs.Pause(); | ||
var expectedString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Response><Pause duration=\"3\"/></Response>"; | ||
assert.equal(response.toXml(), expectedString); | ||
assert.equal(response.toBxml(), expectedString); | ||
//validate against xsd | ||
validator.validateXML(response.toXml(), "schema.xsd", function(err, result) { | ||
validator.validateXML(response.toBxml(), "schema.xsd", function(err, result) { | ||
if (err) { | ||
@@ -187,3 +187,3 @@ throw err; | ||
describe("Redirect", function() { | ||
describe("#toXml()", function() { | ||
describe("#toBxml()", function() { | ||
it("should generate a proper Redirect tag", function() { | ||
@@ -201,5 +201,5 @@ var redirect = new BxmlBuilder.Verbs.Redirect(); | ||
var expectedString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Response><Redirect username=\"user\" password=\"pass\" redirectUrl=\"https://test.com\" redirectMethod=\"GET\" tag=\"tag\"/></Response>"; | ||
assert.equal(response.toXml(), expectedString); | ||
assert.equal(response.toBxml(), expectedString); | ||
//validate against xsd | ||
validator.validateXML(response.toXml(), "schema.xsd", function(err, result) { | ||
validator.validateXML(response.toBxml(), "schema.xsd", function(err, result) { | ||
if (err) { | ||
@@ -216,3 +216,3 @@ throw err; | ||
describe("Gather", function() { | ||
describe("#toXml()", function() { | ||
describe("#toBxml()", function() { | ||
it("should generate a proper Gather tag with a nested SpeakSentence", function() { | ||
@@ -241,5 +241,5 @@ var speakSentence = new BxmlBuilder.Verbs.SpeakSentence(); | ||
var expectedString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Response><Gather gatherUrl=\"https://test.com\" gatherMethod=\"GET\" username=\"user\" password=\"pass\" tag=\"tag\" terminatingDigits=\"123\" maxDigits=\"3\" interDigitTimeout=\"4\" firstDigitTimeout=\"5\"><SpeakSentence voice=\"susan\" locale=\"en_US\" gender=\"female\">test</SpeakSentence></Gather></Response>"; | ||
assert.equal(response.toXml(), expectedString); | ||
assert.equal(response.toBxml(), expectedString); | ||
//validate against xsd | ||
validator.validateXML(response.toXml(), "schema.xsd", function(err, result) { | ||
validator.validateXML(response.toBxml(), "schema.xsd", function(err, result) { | ||
if (err) { | ||
@@ -273,5 +273,5 @@ throw err; | ||
var expectedString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Response><Gather gatherUrl=\"https://test.com\" gatherMethod=\"GET\" username=\"user\" password=\"pass\" tag=\"tag\" terminatingDigits=\"123\" maxDigits=\"3\" interDigitTimeout=\"4\" firstDigitTimeout=\"5\"><PlayAudio username=\"user\" password=\"pass\">https://test.com</PlayAudio></Gather></Response>"; | ||
assert.equal(response.toXml(), expectedString); | ||
assert.equal(response.toBxml(), expectedString); | ||
//validate against xsd | ||
validator.validateXML(response.toXml(), "schema.xsd", function(err, result) { | ||
validator.validateXML(response.toBxml(), "schema.xsd", function(err, result) { | ||
if (err) { | ||
@@ -300,5 +300,5 @@ throw err; | ||
var expectedString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Response><Gather gatherUrl=\"https://test.com\" gatherMethod=\"GET\" username=\"user\" password=\"pass\" tag=\"tag\" terminatingDigits=\"123\" maxDigits=\"3\" interDigitTimeout=\"4\" firstDigitTimeout=\"5\" repeatCount=\"6\"/></Response>"; | ||
assert.equal(response.toXml(), expectedString); | ||
assert.equal(response.toBxml(), expectedString); | ||
//validate against xsd | ||
validator.validateXML(response.toXml(), "schema.xsd", function(err, result) { | ||
validator.validateXML(response.toBxml(), "schema.xsd", function(err, result) { | ||
if (err) { | ||
@@ -315,3 +315,3 @@ throw err; | ||
describe("Transfer", function() { | ||
describe("#toXml()", function() { | ||
describe("#toBxml()", function() { | ||
it("should generate a proper Transfer tag", function() { | ||
@@ -351,5 +351,5 @@ var number1 = new BxmlBuilder.Verbs.PhoneNumber(); | ||
var expectedString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Response><Transfer transferCallerId=\"+18888888888\" callTimeout=\"3\" tag=\"tagTransfer\" transferCompleteUrl=\"https://testtransfer.com\" transferCompleteMethod=\"GET\" username=\"usertransfer\" password=\"passtransfer\" diversionTreatment=\"none\" diversionReason=\"away\"><PhoneNumber transferAnswerUrl=\"https://test.com\" transferAnswerMethod=\"GET\" username=\"user\" password=\"pass\" tag=\"tag\">+17777777777</PhoneNumber><PhoneNumber transferAnswerUrl=\"https://test2.com\" transferAnswerMethod=\"POST\" username=\"user2\" password=\"pass2\" tag=\"tag2\">+17777777779</PhoneNumber></Transfer></Response>"; | ||
assert.equal(response.toXml(), expectedString); | ||
assert.equal(response.toBxml(), expectedString); | ||
//validate against xsd | ||
validator.validateXML(response.toXml(), "schema.xsd", function(err, result) { | ||
validator.validateXML(response.toBxml(), "schema.xsd", function(err, result) { | ||
if (err) { | ||
@@ -366,3 +366,3 @@ throw err; | ||
describe("PlayAudioSpeakSentence", function() { | ||
describe("#toXml()", function() { | ||
describe("#toBxml()", function() { | ||
it("should generate a proper PlayAudio and SpeakSentence tag combined", function() { | ||
@@ -384,5 +384,5 @@ var playAudio = new BxmlBuilder.Verbs.PlayAudio(); | ||
var expectedString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Response><PlayAudio username=\"user\" password=\"pass\">https://test.com</PlayAudio><SpeakSentence voice=\"susan\" locale=\"en_US\" gender=\"female\">test</SpeakSentence></Response>"; | ||
assert.equal(response.toXml(), expectedString); | ||
assert.equal(response.toBxml(), expectedString); | ||
//validate against xsd | ||
validator.validateXML(response.toXml(), "schema.xsd", function(err, result) { | ||
validator.validateXML(response.toBxml(), "schema.xsd", function(err, result) { | ||
if (err) { | ||
@@ -389,0 +389,0 @@ throw err; |
92383
261