Skip to content

Commit

Permalink
More inline comments and code makeup
Browse files Browse the repository at this point in the history
  • Loading branch information
pibi committed May 31, 2011
1 parent 11ea9a9 commit b1d4e9c
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 38 deletions.
43 changes: 23 additions & 20 deletions zen-http.js
Expand Up @@ -21,49 +21,52 @@ errorHandler = function error(req, resp, err) {
/**
* Default result handler
*/
resultHandler = function result(req, resp, result) {
resultHandler = function result(req, resp, result) {
resp.writeHead(200, {
"Content-Type": "octet/stream"
});
resp.end(result);
};

/**
* Zen uses a 'setup' pattern, returning a callable engine function
*/
module.exports= function (/*layers*/) {
var error = function(req, resp, err) {
return handle.errorHandler(req, resp, err);
return engine.errorHandler(req, resp, err);
};
var layers=Array.prototype.concat([error],Array.prototype.slice.call(arguments).reverse());

var L=layers.length-1;
var first=layers[L];//first access optimization

var nextHandler= function(req,resp,err,res) {
var nextHandler= function(req,resp,err,res) {
try {
if (err){
return handle.errorHandler(req, resp, err); //err
if (err) {
return engine.errorHandler(req, resp, err); //err
}
if (resp)
return handle.resultHandler(req, resp, res);
if (resp)
return engine.resultHandler(req, resp, res);
} catch (ex) {
return handle.errorHandler(req, resp, ex);
return engine.errorHandler(req, resp, ex);
}
return;
}
var handle= function (req, resp) {
// The real Zen Engine
var engine= function (req, resp) {
var i=L;
var next= function(err,res) {
if (err||res) //response optimization
return nextHandler(req,resp,err,res);
else
return layers[--i](req,resp,next);
}
try {
var next= function(err,res) {
if (err||res) //response optimization
return nextHandler(req,resp,err,res);
else
return layers[--i](req,resp,next);
}
return first(req,resp,next);
} catch (err) {
return handle.errorHandler(req, resp, err);
return engine.errorHandler(req, resp, err);
}
}
handle.errorHandler = errorHandler;
handle.resultHandler = resultHandler;
return handle;
engine.errorHandler = errorHandler;
engine.resultHandler = resultHandler;
return engine;
};
39 changes: 21 additions & 18 deletions zen.js
Expand Up @@ -18,34 +18,37 @@ resultHandler = function result(/*args,*/ /*res*/) {
var res=(arguments.length >0)?arguments[arguments.length-1]:null;
return;
};
/**
* Zen uses a 'setup' pattern, returning a callable engine function
*/
module.exports= function (/*layers*/) {
var error = function(/*args*/) {
return handle.errorHandler.apply(this,arguments);
return engine.errorHandler.apply(this,arguments);
},
layers=Array.prototype.concat([error],Array.prototype.slice.call(arguments).reverse());
//optimize first access

var L=layers.length-1;
var first=layers[L];
var first=layers[L]; //first access optimization

var nextHandler= function(/* args, err, res */) {
var args=Array.prototype.slice.call(arguments);
var res=args.pop();
var err=args.pop();
try{
if (err) {
args.push(err);
return handle.errorHandler.apply(this,args);
}
else if (res) {
args.push(res);
return handle.resultHandler.apply(this,args);
}
try {
if (err) {
args.push(err);
return engine.errorHandler.apply(this,args);
} else if (res) {
args.push(res);
return engine.resultHandler.apply(this,args);
}
} catch (ex) {
args.push(ex);
return handle.errorHandler.apply(this,args);
args.push(ex);
return engine.errorHandler.apply(this,args);
}
}
var handle= function (/*handleArgs*/) {
// The real Zen Engine
var engine= function (/*handleArgs*/) {
var handleArgs=Array.prototype.slice.call(arguments);
var self=this;
var i=L;
Expand All @@ -64,7 +67,7 @@ module.exports= function (/*layers*/) {
return handle.errorHandler.apply(self,handleArgs);
}
}
handle.errorHandler = errorHandler;
handle.resultHandler = resultHandler;
return handle;
engine.errorHandler = errorHandler;
engine.resultHandler = resultHandler;
return engine;
};

0 comments on commit b1d4e9c

Please sign in to comment.