koa-socket-2
Version:
Koa meets socket.io connected socket
30 lines (24 loc) • 600 B
JavaScript
;
const Koa = require( 'koa' );
const ioc = require( 'socket.io-client' );
const IO = require( '../../' );
exports.connection = function( srv, opts ) {
opts = Object.assign({
transports: [ 'websocket' ]
}, opts );
let addr = srv.address();
if ( !addr ) {
addr = srv.listen().address();
}
let client = ioc( 'ws://0.0.0.0:' + addr.port, opts );
client.on( 'disconnect', () => {
srv.close();
});
return client;
};
exports.application = function( instance ) {
const app = new Koa();
const io = instance || new IO();
io.attach( app );
return app;
};