cisco-perfmon 1.4.3 → 1.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/main.js +98 -19
  2. package/package.json +1 -1
  3. package/test/tests.js +6 -5
package/main.js CHANGED
@@ -85,17 +85,6 @@ var XML_REMOVE_COUNTER_ENVELOPE = `<soapenv:Envelope xmlns:soapenv="http://schem
85
85
  </soapenv:Body>
86
86
  </soapenv:Envelope>`;
87
87
 
88
- // Set up our promise results
89
- var promiseResults = {
90
- cookie: "",
91
- results: "",
92
- };
93
-
94
- // Set up our error results
95
- var errorResults = {
96
- message: "",
97
- };
98
-
99
88
  /**
100
89
  * Cisco Perfmon Service
101
90
  * This is a service class that uses fetch and promises to pull Perfmon data from Cisco CUCM
@@ -111,13 +100,13 @@ var errorResults = {
111
100
  class perfMonService {
112
101
  constructor(host, username, password, options) {
113
102
  this._OPTIONS = {
114
- retryOn: function(attempt, error, response) {
103
+ retryOn: function (attempt, error, response) {
115
104
  // Only allow retries on JSESSIONIDSSO authenticaion attempts
116
- if(!options){
117
- return false
118
- }else if (attempt > (process.env.PERFMON_RETRIES ? parseInt(process.env.PERFMON_RETRIES) : 3)) {
119
- return false
120
- };
105
+ if (!options) {
106
+ return false;
107
+ } else if (attempt > (process.env.PERFMON_RETRIES ? parseInt(process.env.PERFMON_RETRIES) : 3)) {
108
+ return false;
109
+ }
121
110
  // retry on any network error, or 4xx or 5xx status codes
122
111
  if (error !== null || response.status >= 400) {
123
112
  const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
@@ -170,6 +159,16 @@ class perfMonService {
170
159
  fetch(`https://${server}:8443/perfmonservice2/services/PerfmonService/`, options)
171
160
  .then(async (response) => {
172
161
  try {
162
+ // Set up our promise results
163
+ var promiseResults = {
164
+ cookie: "",
165
+ results: "",
166
+ };
167
+
168
+ // Set up our error results
169
+ var errorResults = {
170
+ message: "",
171
+ };
173
172
  var data = []; // create an array to save chunked data from server
174
173
  promiseResults.cookie = response.headers.get("set-cookie") ? response.headers.get("set-cookie") : "";
175
174
  // response.body is a ReadableStream
@@ -284,6 +283,16 @@ class perfMonService {
284
283
  fetch(`https://${server}:8443/perfmonservice2/services/PerfmonService/`, options)
285
284
  .then(async (response) => {
286
285
  try {
286
+ // Set up our promise results
287
+ var promiseResults = {
288
+ cookie: "",
289
+ results: "",
290
+ };
291
+
292
+ // Set up our error results
293
+ var errorResults = {
294
+ message: "",
295
+ };
287
296
  var data = []; // create an array to save chunked data from server
288
297
  promiseResults.cookie = response.headers.get("set-cookie") ? response.headers.get("set-cookie") : "";
289
298
  // response.body is a ReadableStream
@@ -381,7 +390,7 @@ class perfMonService {
381
390
  * @param {string} host - The host to collect data from.
382
391
  * @returns {object} returns JSON via a Promise. JSON contains Session Cookie (If availible) and Results.
383
392
  */
384
- listCounter(host,filtered = []) {
393
+ listCounter(host, filtered = []) {
385
394
  var XML;
386
395
  var options = this._OPTIONS;
387
396
  options.SOAPAction = `perfmonListCounter`;
@@ -397,6 +406,16 @@ class perfMonService {
397
406
  fetch(`https://${server}:8443/perfmonservice2/services/PerfmonService/`, options)
398
407
  .then(async (response) => {
399
408
  try {
409
+ // Set up our promise results
410
+ var promiseResults = {
411
+ cookie: "",
412
+ results: "",
413
+ };
414
+
415
+ // Set up our error results
416
+ var errorResults = {
417
+ message: "",
418
+ };
400
419
  var data = []; // create an array to save chunked data from server
401
420
  promiseResults.cookie = response.headers.get("set-cookie") ? response.headers.get("set-cookie") : "";
402
421
  // response.body is a ReadableStream
@@ -415,7 +434,7 @@ class perfMonService {
415
434
  var returnResults = output.Body.perfmonListCounterResponse.perfmonListCounterReturn;
416
435
  promiseResults.results = clean(returnResults);
417
436
  if (filtered.length > 0) {
418
- var res = promiseResults.results.filter(item => filtered.includes(item.Name));
437
+ var res = promiseResults.results.filter((item) => filtered.includes(item.Name));
419
438
  promiseResults.results = res;
420
439
  }
421
440
  resolve(promiseResults);
@@ -481,6 +500,16 @@ class perfMonService {
481
500
  fetch(`https://${server}:8443/perfmonservice2/services/PerfmonService/`, options)
482
501
  .then(async (response) => {
483
502
  try {
503
+ // Set up our promise results
504
+ var promiseResults = {
505
+ cookie: "",
506
+ results: "",
507
+ };
508
+
509
+ // Set up our error results
510
+ var errorResults = {
511
+ message: "",
512
+ };
484
513
  var data = []; // create an array to save chunked data from server
485
514
  promiseResults.cookie = response.headers.get("set-cookie") ? response.headers.get("set-cookie") : "";
486
515
  // response.body is a ReadableStream
@@ -565,6 +594,16 @@ class perfMonService {
565
594
  fetch(`https://${server}:8443/perfmonservice2/services/PerfmonService/`, options)
566
595
  .then(async (response) => {
567
596
  try {
597
+ // Set up our promise results
598
+ var promiseResults = {
599
+ cookie: "",
600
+ results: "",
601
+ };
602
+
603
+ // Set up our error results
604
+ var errorResults = {
605
+ message: "",
606
+ };
568
607
  var data = []; // create an array to save chunked data from server
569
608
  promiseResults.cookie = response.headers.get("set-cookie") ? response.headers.get("set-cookie") : "";
570
609
  // response.body is a ReadableStream
@@ -643,6 +682,16 @@ class perfMonService {
643
682
  fetch(`https://${server}:8443/perfmonservice2/services/PerfmonService/`, options)
644
683
  .then(async (response) => {
645
684
  try {
685
+ // Set up our promise results
686
+ var promiseResults = {
687
+ cookie: "",
688
+ results: "",
689
+ };
690
+
691
+ // Set up our error results
692
+ var errorResults = {
693
+ message: "",
694
+ };
646
695
  var data = []; // create an array to save chunked data from server
647
696
  promiseResults.cookie = response.headers.get("set-cookie") ? response.headers.get("set-cookie") : "";
648
697
  // response.body is a ReadableStream
@@ -730,6 +779,16 @@ class perfMonService {
730
779
  fetch(`https://${server}:8443/perfmonservice2/services/PerfmonService/`, options)
731
780
  .then(async (response) => {
732
781
  try {
782
+ // Set up our promise results
783
+ var promiseResults = {
784
+ cookie: "",
785
+ results: "",
786
+ };
787
+
788
+ // Set up our error results
789
+ var errorResults = {
790
+ message: "",
791
+ };
733
792
  var data = []; // create an array to save chunked data from server
734
793
  // response.body is a ReadableStream
735
794
  const reader = response.body.getReader();
@@ -816,6 +875,16 @@ class perfMonService {
816
875
  fetch(`https://${server}:8443/perfmonservice2/services/PerfmonService/`, options)
817
876
  .then(async (response) => {
818
877
  try {
878
+ // Set up our promise results
879
+ var promiseResults = {
880
+ cookie: "",
881
+ results: "",
882
+ };
883
+
884
+ // Set up our error results
885
+ var errorResults = {
886
+ message: "",
887
+ };
819
888
  var data = []; // create an array to save chunked data from server
820
889
  // response.body is a ReadableStream
821
890
  const reader = response.body.getReader();
@@ -896,6 +965,16 @@ class perfMonService {
896
965
  fetch(`https://${server}:8443/perfmonservice2/services/PerfmonService/`, options)
897
966
  .then(async (response) => {
898
967
  try {
968
+ // Set up our promise results
969
+ var promiseResults = {
970
+ cookie: "",
971
+ results: "",
972
+ };
973
+
974
+ // Set up our error results
975
+ var errorResults = {
976
+ message: "",
977
+ };
899
978
  var data = []; // create an array to save chunked data from server
900
979
  promiseResults.cookie = response.headers.get("set-cookie") ? response.headers.get("set-cookie") : "";
901
980
  // response.body is a ReadableStream
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cisco-perfmon",
3
- "version": "1.4.3",
3
+ "version": "1.4.4",
4
4
  "description": "A library to pull Perfmon data from Cisco VOS applications via SOAP",
5
5
  "main": "main.js",
6
6
  "scripts": {
package/test/tests.js CHANGED
@@ -28,7 +28,8 @@ var cucmServerName = env.CUCM_SERVER_NAME;
28
28
 
29
29
  // Variables to hold our SessionID and our Session Counter
30
30
  var SessionID;
31
- var counterObj = {
31
+ var counterObject = "Cisco CallManager";
32
+ var sessionObj = {
32
33
  host: cucmServerName,
33
34
  object: 'Partition',
34
35
  instance: 'SharedMemory',
@@ -38,7 +39,7 @@ var counterObj = {
38
39
  (async () => {
39
40
  console.log("Let's get a description of our counter. We will also retrieve a cookie to use for the rest of the session.");
40
41
  await service
41
- .queryCounterDescription(counterObj)
42
+ .queryCounterDescription(sessionObj)
42
43
  .then((response) => {
43
44
  console.log("queryCounterDescription: ", response.results);
44
45
  if (response.cookie) {
@@ -51,9 +52,9 @@ var counterObj = {
51
52
 
52
53
  console.log("Let's collect some non session counter data.");
53
54
  await service
54
- .collectCounterData(cucmServerName, "Cisco CallManager")
55
+ .collectCounterData(cucmServerName, counterObject)
55
56
  .then((response) => {
56
- console.log("collectCounterData", response.results);
57
+ console.log("collectCounterData", response);
57
58
  })
58
59
  .catch((error) => {
59
60
  console.log(error.message);
@@ -66,7 +67,7 @@ var counterObj = {
66
67
  console.log("SessionID", response.results);
67
68
  SessionID = response.results;
68
69
  await service
69
- .addCounter(SessionID, counterObj)
70
+ .addCounter(SessionID, sessionObj)
70
71
  .then(async (response) => {
71
72
  console.log("addCounter", response.results);
72
73
  const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));