Skip to content

HeroMock/Reed-Koa-Websocket

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Reed-Koa-Websocket

Routable Websocket Wrapper for KOA (ES6+)

Sample

const Koa = require('koa'),
    Router = require('koa-router'),
    KoaWs = require('reed-koa-websocket')

const app = new Koa()
app.ws = new KoaWs(app)

const router = new Router()
router.all('/channel/:name', ctx => {
    let client = ctx.websocket

    client.send(`Hello ${ctx.params.name}`)

    client.on('message', msg => {
        // echo back
        client.send(JSON.stringify({
            params: { ...ctx.params },
            query: { ...ctx.query },
            msg
        }))
    })
})

app.ws.use(router.routes())
app.listen(8080)

// 
// let client = new WebSocket('ws://localhost:8080/channel/hans?foo=bar')
// ...

Class: KoaWs

  • constructor(app[, wsOptions])

    app: KOA Application

    wsOptions: [optional] construction options for ws

  • use(middleware)

    middleware: koa middleware

About

Routable Websocket Wrapper for KOA

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published