bind method
Attaches the static file serving.
@param {Function|http.Server} http server
@api private
@todo Include better way to serve files
Handles a request serving /socket.io.js
@param {http.Request} req @param {http.Response} res @api private @todo Include better way to serve files Binds socket.io to an engine.io instance.
@param {engine.Server} engine.io (or compatible) server @return {Server} self @api public
Implementation
// attachServe(srv){
// _logger.fine()('attaching client serving req handler');
// var url = this._path + '/socket.io.js';
// var evs = srv.listeners('request').slice(0);
// var self = this;
// srv.removeAllListeners('request');
// srv.on('request', function(req, res) {
// if (0 === req.url.indexOf(url)) {
// self.serve(req, res);
// } else {
// for (var i = 0; i < evs.length; i++) {
// evs[i].call(srv, req, res);
// }
// }
// })
// }
/// Handles a request serving `/socket.io.js`
///
/// @param {http.Request} req
/// @param {http.Response} res
/// @api private
/// @todo Include better way to serve files
// serve(req, res){
// var etag = req.headers['if-none-match'];
// if (etag) {
// if (clientVersion == etag) {
// debug('serve client 304');
// res.writeHead(304);
// res.end();
// return;
// }
// }
//
// debug('serve client source');
// res.setHeader('Content-Type', 'application/javascript');
// res.setHeader('ETag', clientVersion);
// res.writeHead(200);
// res.end(clientSource);
// }
/// Binds socket.io to an engine.io instance.
///
/// @param {engine.Server} engine.io (or compatible) server
/// @return {Server} self
/// @api public
Server bind(Engine engine) {
this.engine = engine;
this.engine!.on('connection', onconnection);
return this;
}