node package manager

hapi-methods

hapi-methods

Build Status NPM version Dependencies

My narrow helper for server-methods, use it, or don't. Assumes that you are caching your method results.

Benefits:

  • does a request.log(["cachemiss"], ...) so you can track the hit/miss ratio
  • generates a sha1 key instead of stringifying the input args (useful if you have large input objects)
  • what more do you need?
var catbox-redis = require("catbox-redis");
var Hapi = require("hapi");
var server = new Hapi.Server({
  cache: {
        engine: require("catbox-redis"),
        host: 127.0.0.1
    }
});
 
server.connection({ port: 3000 });
 
var methods = require("hapi-methods");
var config = {
  expiryInSeconds: 60
};
 
var methods = {
  add: function(a, b, next){
    next(null, a+b);
  }
};
 
methods.register(server, config, methods);
 
server.route({
    method: 'GET',
    path: '/add/{one}/{two}'
    handler: function(req, res){
      req.server.methods.add(req.params.one, req.params.two, req, function(err, result){
        if(err){
          reply(err);
        }
 
        reply(result);
      });
    }
});
 
server.start(function(){
  console.log('server started...');
});