| '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; |