var WebSocketServer = require('websocket').server;

exports.route = function(server, app) {
  // var io = require('socket.io').listen(server);
  // io.sockets.on('connection', function (socket) {
  //   socket.on('message', function(msg) {
  //     console.log(msg);
  //     socket.send(msg);
  //   });
  // });

  var wsServer = new WebSocketServer({
      httpServer: server
  });

  wsServer.on('request', function(request) {
    if (request.requestedProtocols.indexOf('echo-protocol') == -1)  {
      return;
    }
    console.log(request);
      var connection = request.accept('echo-protocol', request.origin);
      console.log((new Date()) + ' Connection accepted.');
      connection.on('message', function(message) {
          if (message.type === 'utf8') {
              console.log('Received Message: ' + message.utf8Data);
              connection.sendUTF(message.utf8Data);
          }
          else if (message.type === 'binary') {
              console.log('Received Binary Message of ' + message.binaryData.length + ' bytes');
              connection.sendBytes(message.binaryData);
          }
      });
      connection.on('close', function(reasonCode, description) {
          console.log((new Date()) + ' Peer ' + connection.remoteAddress + ' disconnected.');
      });
  });
}
@@ -86,19 +86,16 @@
 app) %7B%0A 
- //
  var io 
@@ -134,19 +134,16 @@
 rver);%0A 
- //
  io.sock
@@ -184,19 +184,16 @@
 ket) %7B%0A 
- //
    socke
@@ -225,19 +225,16 @@
 msg) %7B%0A 
- //
      con
@@ -249,19 +249,16 @@
 (msg);%0A 
- //
      soc
@@ -277,19 +277,16 @@
 );%0A 
- //
    %7D);%0A 
  // 
@@ -285,18 +285,18 @@
 );%0A 
- //
  %7D);%0A%0A 
+ //
  var
@@ -330,16 +330,19 @@
 rver(%7B%0A 
+ //
      htt
@@ -358,23 +358,34 @@
 server%0A 
+ //
  %7D);%0A
-%0A
  
+ // %0A  //
  wsServe
@@ -421,16 +421,19 @@
 est) %7B%0A 
+ //
    if (r
@@ -495,20 +495,23 @@
 1)  %7B%0A  
+//
     
+ 
 return;%0A
@@ -512,24 +512,30 @@
 turn;%0A  
+//
   
+ 
 %7D%0A  
+//
   
+ 
 console.
@@ -545,24 +545,27 @@
 (request);%0A 
+ //
      var con
@@ -620,24 +620,27 @@
 t.origin);%0A 
+ //
      console
@@ -682,24 +682,27 @@
 cepted.');%0A 
+ //
      connect
@@ -736,24 +736,27 @@
 message) %7B%0A 
+ //
          if 
@@ -780,24 +780,27 @@
  'utf8') %7B%0A 
+ //
             
@@ -847,32 +847,35 @@
 age.utf8Data);%0A 
+ //
              con
@@ -902,32 +902,35 @@
 age.utf8Data);%0A 
+ //
          %7D%0A     
@@ -921,24 +921,27 @@
          %7D%0A 
+ //
          els
@@ -972,24 +972,27 @@
 binary') %7B%0A 
+ //
             
@@ -1072,24 +1072,27 @@
 ' bytes');%0A 
+ //
             
@@ -1131,24 +1131,27 @@
 naryData);%0A 
+ //
          %7D%0A 
@@ -1150,16 +1150,19 @@
      %7D%0A 
+ //
      %7D);
@@ -1159,24 +1159,27 @@
 //     %7D);%0A 
+ //
      connect
@@ -1227,24 +1227,27 @@
 ription) %7B%0A 
+ //
          con
@@ -1324,24 +1324,27 @@
 nected.');%0A 
+ //
      %7D);%0A  %7D
@@ -1337,18 +1337,21 @@
 //     %7D);%0A 
+ //
  %7D);%0A%7D

comment out socket.io tests