You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.1 KiB
43 lines
1.1 KiB
'use strict'; |
|
|
|
// 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;
|
|
|