Nitrate Processed Mincemeat

    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

    Install

    npm i hapi-generator

    DownloadsWeekly Downloads

    3

    Version

    1.0.1

    License

    MIT

    Last publish

    Collaborators

    • alanhoff