Initial commit
[yaffs-website] / node_modules / faye-websocket / examples / autobahn_client.js
1 var WebSocket = require('..').Client,
2     deflate   = require('permessage-deflate'),
3     pace      = require('pace');
4
5 var host    = 'ws://localhost:9001',
6     agent   = encodeURIComponent('node-' + process.version),
7     cases   = 0,
8     options = {extensions: [deflate]};
9
10 var socket = new WebSocket(host + '/getCaseCount'),
11     url, progress;
12
13 socket.onmessage = function(event) {
14   console.log('Total cases to run: ' + event.data);
15   cases = parseInt(event.data);
16   progress = pace(cases);
17 };
18
19 var runCase = function(n) {
20   if (n > cases) {
21     url = host + '/updateReports?agent=' + agent;
22     socket = new WebSocket(url);
23     socket.onclose = process.exit;
24     return;
25   }
26
27   url = host + '/runCase?case=' + n + '&agent=' + agent;
28   socket = new WebSocket(url, [], options);
29   socket.pipe(socket);
30
31   socket.on('close', function() {
32     progress.op();
33     runCase(n + 1);
34   });
35 };
36
37 socket.onclose = function() {
38   runCase(1);
39 };