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