|
'use strict';
|
|
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
|
}
|