hapi-generator

1.0.1 • Public • Published

hapi-generator

Add generators and promises to your hapi handlers

Usage

let server = new Hapi.Server()
 
// First register the plugin
server.register(require('hapi-generator'), err => {
  if (err) throw err
})
 
// Now you're free to use a generator or promise as a handler
server.route({
  method: 'POST',
  path: '/generator',
  handler: {
    generator: function * (request, reply) {
      let result = yield database.find()
      return result // Just return and the plugin will call reply() for you
    }
  }
})
 
server.route({
  method: 'POST',
  path: '/generator',
  handler: {
    promise: function (request, reply) {
      // Errors are automatically handled as well
      return database.find().then(() => { throw new Error('Whooops!') })
    }
  }
})
 
// If you wish to disable reply handling just pass reply: false
server.route({
  method: 'POST',
  path: '/home',
  handler: {
    generator: {
      reply: false,
      handler: function * (request, reply) {
        // Now the plugin will only call reply() for uncaught errors
        let data = yield database.find()
        reply.view('home', { data })
      }
    }
  }
})

Testing

git clone git@github.com:estate/hapi-generator.git
cd bookshelf-bcrypt && npm install && npm test

Dependents (0)

Package Sidebar

Install

npm i hapi-generator

Weekly Downloads

1

Version

1.0.1

License

MIT

Last publish

Collaborators

  • alanhoff