Including the node_modules folder for socket.io code.
[KiwiIRC.git] / node / node_modules / socket.io / lib / socket.io.js
1
2 /*!
3 * socket.io-node
4 * Copyright(c) 2011 LearnBoost <dev@learnboost.com>
5 * MIT Licensed
6 */
7
8 /**
9 * Module dependencies.
10 */
11
12 var client = require('socket.io-client');
13
14 /**
15 * Version.
16 */
17
18 exports.version = '0.7.7';
19
20 /**
21 * Supported protocol version.
22 */
23
24 exports.protocol = 1;
25
26 /**
27 * Client that we serve.
28 */
29
30 exports.clientVersion = client.version;
31
32 /**
33 * Attaches a manager
34 *
35 * @api public
36 */
37
38 exports.listen = function (server, options, fn) {
39 if ('function' == typeof options) {
40 fn = options;
41 options = {};
42 }
43
44 if ('undefined' == typeof server) {
45 // create a server that listens on port 80
46 server = 80;
47 }
48
49 if ('number' == typeof server) {
50 // if a port number is passed
51 var port = server;
52
53 if (options && options.key)
54 server = require('https').createServer(options);
55 else
56 server = require('http').createServer();
57
58 // default response
59 server.on('request', function (req, res) {
60 res.writeHead(200);
61 res.end('Welcome to socket.io.');
62 });
63
64 server.listen(port, fn);
65 }
66
67 // otherwise assume a http/s server
68 return new exports.Manager(server);
69 };
70
71 /**
72 * Manager constructor.
73 *
74 * @api public
75 */
76
77 exports.Manager = require('./manager');
78
79 /**
80 * Transport constructor.
81 *
82 * @api public
83 */
84
85 exports.Transport = require('./transport');
86
87 /**
88 * Socket constructor.
89 *
90 * @api public
91 */
92
93 exports.Socket = require('./socket');
94
95 /**
96 * Store constructor.
97 *
98 * @api public
99 */
100
101 exports.Store = require('./store');
102
103 /**
104 * Memory Store constructor.
105 *
106 * @api public
107 */
108
109 exports.MemoryStore = require('./stores/memory');
110
111 /**
112 * Redis Store constructor.
113 *
114 * @api public
115 */
116
117 exports.RedisStore = require('./stores/redis');
118
119 /**
120 * Parser.
121 *
122 * @api public
123 */
124
125 exports.parser = require('./parser');