; | |
// Protocol references: | |
// | |
// * http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol-75 | |
// * http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol-76 | |
// * http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-17 | |
var Base = require('./driver/base'), | |
Client = require('./driver/client'), | |
Server = require('./driver/server'); | |
var Driver = { | |
client: function(url, options) { | |
options = options || {}; | |
if (options.masking === undefined) options.masking = true; | |
return new Client(url, options); | |
}, | |
server: function(options) { | |
options = options || {}; | |
if (options.requireMasking === undefined) options.requireMasking = true; | |
return new Server(options); | |
}, | |
http: function() { | |
return Server.http.apply(Server, arguments); | |
}, | |
isSecureRequest: function(request) { | |
return Server.isSecureRequest(request); | |
}, | |
isWebSocket: function(request) { | |
return Base.isWebSocket(request); | |
}, | |
validateOptions: function(options, validKeys) { | |
Base.validateOptions(options, validKeys); | |
} | |
}; | |
module.exports = Driver; | |