rc-web@69
|
1
|
rc-web@69
|
2 /*!
|
rc-web@69
|
3 * socket.io-node
|
rc-web@69
|
4 * Copyright(c) 2011 LearnBoost <dev@learnboost.com>
|
rc-web@69
|
5 * MIT Licensed
|
rc-web@69
|
6 */
|
rc-web@69
|
7
|
rc-web@69
|
8 /**
|
rc-web@69
|
9 * Module dependencies.
|
rc-web@69
|
10 */
|
rc-web@69
|
11
|
rc-web@69
|
12 var client = require('socket.io-client');
|
rc-web@69
|
13
|
rc-web@69
|
14 /**
|
rc-web@69
|
15 * Version.
|
rc-web@69
|
16 */
|
rc-web@69
|
17
|
rc-web@69
|
18 exports.version = '0.9.16';
|
rc-web@69
|
19
|
rc-web@69
|
20 /**
|
rc-web@69
|
21 * Supported protocol version.
|
rc-web@69
|
22 */
|
rc-web@69
|
23
|
rc-web@69
|
24 exports.protocol = 1;
|
rc-web@69
|
25
|
rc-web@69
|
26 /**
|
rc-web@69
|
27 * Client that we serve.
|
rc-web@69
|
28 */
|
rc-web@69
|
29
|
rc-web@69
|
30 exports.clientVersion = client.version;
|
rc-web@69
|
31
|
rc-web@69
|
32 /**
|
rc-web@69
|
33 * Attaches a manager
|
rc-web@69
|
34 *
|
rc-web@69
|
35 * @param {HTTPServer/Number} a HTTP/S server or a port number to listen on.
|
rc-web@69
|
36 * @param {Object} opts to be passed to Manager and/or http server
|
rc-web@69
|
37 * @param {Function} callback if a port is supplied
|
rc-web@69
|
38 * @api public
|
rc-web@69
|
39 */
|
rc-web@69
|
40
|
rc-web@69
|
41 exports.listen = function (server, options, fn) {
|
rc-web@69
|
42 if ('function' == typeof server) {
|
rc-web@69
|
43 console.warn('Socket.IO\'s `listen()` method expects an `http.Server` instance\n'
|
rc-web@69
|
44 + 'as its first parameter. Are you migrating from Express 2.x to 3.x?\n'
|
rc-web@69
|
45 + 'If so, check out the "Socket.IO compatibility" section at:\n'
|
rc-web@69
|
46 + 'https://github.com/visionmedia/express/wiki/Migrating-from-2.x-to-3.x');
|
rc-web@69
|
47 }
|
rc-web@69
|
48
|
rc-web@69
|
49 if ('function' == typeof options) {
|
rc-web@69
|
50 fn = options;
|
rc-web@69
|
51 options = {};
|
rc-web@69
|
52 }
|
rc-web@69
|
53
|
rc-web@69
|
54 if ('undefined' == typeof server) {
|
rc-web@69
|
55 // create a server that listens on port 80
|
rc-web@69
|
56 server = 80;
|
rc-web@69
|
57 }
|
rc-web@69
|
58
|
rc-web@69
|
59 if ('number' == typeof server) {
|
rc-web@69
|
60 // if a port number is passed
|
rc-web@69
|
61 var port = server;
|
rc-web@69
|
62
|
rc-web@69
|
63 if (options && options.key)
|
rc-web@69
|
64 server = require('https').createServer(options);
|
rc-web@69
|
65 else
|
rc-web@69
|
66 server = require('http').createServer();
|
rc-web@69
|
67
|
rc-web@69
|
68 // default response
|
rc-web@69
|
69 server.on('request', function (req, res) {
|
rc-web@69
|
70 res.writeHead(200);
|
rc-web@69
|
71 res.end('Welcome to socket.io.');
|
rc-web@69
|
72 });
|
rc-web@69
|
73
|
rc-web@69
|
74 server.listen(port, fn);
|
rc-web@69
|
75 }
|
rc-web@69
|
76
|
rc-web@69
|
77 // otherwise assume a http/s server
|
rc-web@69
|
78 return new exports.Manager(server, options);
|
rc-web@69
|
79 };
|
rc-web@69
|
80
|
rc-web@69
|
81 /**
|
rc-web@69
|
82 * Manager constructor.
|
rc-web@69
|
83 *
|
rc-web@69
|
84 * @api public
|
rc-web@69
|
85 */
|
rc-web@69
|
86
|
rc-web@69
|
87 exports.Manager = require('./manager');
|
rc-web@69
|
88
|
rc-web@69
|
89 /**
|
rc-web@69
|
90 * Transport constructor.
|
rc-web@69
|
91 *
|
rc-web@69
|
92 * @api public
|
rc-web@69
|
93 */
|
rc-web@69
|
94
|
rc-web@69
|
95 exports.Transport = require('./transport');
|
rc-web@69
|
96
|
rc-web@69
|
97 /**
|
rc-web@69
|
98 * Socket constructor.
|
rc-web@69
|
99 *
|
rc-web@69
|
100 * @api public
|
rc-web@69
|
101 */
|
rc-web@69
|
102
|
rc-web@69
|
103 exports.Socket = require('./socket');
|
rc-web@69
|
104
|
rc-web@69
|
105 /**
|
rc-web@69
|
106 * Static constructor.
|
rc-web@69
|
107 *
|
rc-web@69
|
108 * @api public
|
rc-web@69
|
109 */
|
rc-web@69
|
110
|
rc-web@69
|
111 exports.Static = require('./static');
|
rc-web@69
|
112
|
rc-web@69
|
113 /**
|
rc-web@69
|
114 * Store constructor.
|
rc-web@69
|
115 *
|
rc-web@69
|
116 * @api public
|
rc-web@69
|
117 */
|
rc-web@69
|
118
|
rc-web@69
|
119 exports.Store = require('./store');
|
rc-web@69
|
120
|
rc-web@69
|
121 /**
|
rc-web@69
|
122 * Memory Store constructor.
|
rc-web@69
|
123 *
|
rc-web@69
|
124 * @api public
|
rc-web@69
|
125 */
|
rc-web@69
|
126
|
rc-web@69
|
127 exports.MemoryStore = require('./stores/memory');
|
rc-web@69
|
128
|
rc-web@69
|
129 /**
|
rc-web@69
|
130 * Redis Store constructor.
|
rc-web@69
|
131 *
|
rc-web@69
|
132 * @api public
|
rc-web@69
|
133 */
|
rc-web@69
|
134
|
rc-web@69
|
135 exports.RedisStore = require('./stores/redis');
|
rc-web@69
|
136
|
rc-web@69
|
137 /**
|
rc-web@69
|
138 * Parser.
|
rc-web@69
|
139 *
|
rc-web@69
|
140 * @api public
|
rc-web@69
|
141 */
|
rc-web@69
|
142
|
rc-web@69
|
143 exports.parser = require('./parser');
|