| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | 
							- 'use strict';
 
- var debug = function() {};
 
- if (process.env.NODE_ENV !== 'production') {
 
-   debug = require('debug')('sockjs-client:utils:transport');
 
- }
 
- module.exports = function(availableTransports) {
 
-   return {
 
-     filterToEnabled: function(transportsWhitelist, info) {
 
-       var transports = {
 
-         main: []
 
-       , facade: []
 
-       };
 
-       if (!transportsWhitelist) {
 
-         transportsWhitelist = [];
 
-       } else if (typeof transportsWhitelist === 'string') {
 
-         transportsWhitelist = [transportsWhitelist];
 
-       }
 
-       availableTransports.forEach(function(trans) {
 
-         if (!trans) {
 
-           return;
 
-         }
 
-         if (trans.transportName === 'websocket' && info.websocket === false) {
 
-           debug('disabled from server', 'websocket');
 
-           return;
 
-         }
 
-         if (transportsWhitelist.length &&
 
-             transportsWhitelist.indexOf(trans.transportName) === -1) {
 
-           debug('not in whitelist', trans.transportName);
 
-           return;
 
-         }
 
-         if (trans.enabled(info)) {
 
-           debug('enabled', trans.transportName);
 
-           transports.main.push(trans);
 
-           if (trans.facadeTransport) {
 
-             transports.facade.push(trans.facadeTransport);
 
-           }
 
-         } else {
 
-           debug('disabled', trans.transportName);
 
-         }
 
-       });
 
-       return transports;
 
-     }
 
-   };
 
- };
 
 
  |