1.1.1 • Published 5 years ago
koa-default-body v1.1.1
koa-default-body
Koa middleware which sets ctx.body = '' to return HTTP 200
By default, if you leave ctx.body undefined, Koa returns HTTP 404 Not Found - this middleware sets ctx.body = '' and Koa will return HTTP 200
But if you set ctx.body or ctx.status, this middleware will use it (instead of setting ctx.body = '')
example
import Koa from 'koa'
import Router from 'koa-router'
import defaultBody from 'koa-default-body'
const app = new Koa()
const router = new Router()
router.post('/returns-200-not-404', () => {})
router.get('/return-custom-body-or-status', ctx => {
ctx.body = 'my body my choice'
ctx.status = 403
})
app.use(defaultBody(router))
app.use(router.routes())
app.listen(3000) // pass your portpurpose
It's for reducing boilerplate ctx.body = '' at the end of route handler (function with ctx), for undefined routes response is still 404 !
ctx.body = ''is set ONLY for routers registered withapp.use(router.routes()). When requesting undefined route, like/foo- it will still return 404.