#StackBounty: #javascript #node.js #koa Trying to use koa bodyparser and ctx.body undefined

Bounty: 50

I’m trying to learn koa and can’t figure out why i’m getting the error:

server error TypeError: ctx.body is not a function
    at getHandler (/Users/tomcaflisch/Sites/learn-koa/server.js:32:7)

when I run this code:

'use strict'

const Router = require('koa-router')
const bodyParser = require('koa-bodyparser')

function server (app) {
  const router = new Router()
  router.get('/foo', getHandler)
  app.use(bodyParser())
  app.use(router.routes())


  app.use(async (ctx, next) => {
    try {
      await next();
    } catch (err) {
      ctx.status = err.status || 500;
      ctx.body = err.message;
      ctx.app.emit('error', err, ctx);
    }
  });

  app.on('error', (err, ctx) => {
    console.log('server error', err, ctx)
  });

  app.listen(4000)
}

function getHandler (ctx, next) {
  // ctx.set('Location', 'http://localhost:3000/foo')
  ctx.body({ foo: 'bar' })
}

module.exports = server


Get this bounty!!!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.