Blame view

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