lib/middleware/history.js
function () {
    var middlewares = Array.prototype.slice.apply(arguments)
      , req = middlewares.splice(0, 1)
      , next = middlewares.pop()
    
    // Check other middlewares for client objects. If we find one, merge
    // it and ours together.
    for (var i = 0; i < middlewares.length; i++) {
      var middleware_obj = middlewares[i]
      if (middleware_obj.type == 'client') {
        utils.merge(middlewares[i], hist_obj)
        return undefined
      }
    }
    
    // If we get this far, no other middlewares match client type. So pass
    // our middleware object.
    next({'history': hist_obj})
    return undefined
  }
function () {
    var middlewares = Array.prototype.slice.apply(arguments)
      , req = middlewares.splice(0, 1)
      , next = middlewares.pop()
    
    // Check other middlewares for client objects. If we find one, merge
    // it and ours together.
    for (var i = 0; i < middlewares.length; i++) {
      var middleware_obj = middlewares[i]
      if (middleware_obj.type == 'client') {
        utils.merge(middlewares[i], hist_obj)
        return undefined
      }
    }
    
    // If we get this far, no other middlewares match client type. So pass
    // our middleware object.
    next({'history': hist_obj})
    return undefined
  }
function ( ) { var middlewares = Array . prototype . slice . apply ( arguments ) , req = middlewares . splice ( 0 , 1 ) , next = middlewares . pop ( ) // Check other middlewares for client objects. If we find one, merge
 // it and ours together.
 for ( var i = 0 ; i < middlewares . length ; i ++ ) { var middleware_obj = middlewares [ i ] if ( middleware_obj . type == 'client' ) { utils . merge ( middlewares [ i ] , hist_obj ) return undefined } } // If we get this far, no other middlewares match client type. So pass
 // our middleware object.
 next ( { 'history' : hist_obj } ) return undefined }
Our middleware function
Our middleware function