def use(middleware, *args, &block)
      if middleware.kind_of?(Builder)
        # Merge in the other builder's stack into our own
        self.stack.concat(middleware.stack)
      else
        self.stack << [middleware, args, block]
      end

      self
    end
def use(middleware, *args, &block)
      if middleware.kind_of?(Builder)
        # Merge in the other builder's stack into our own
        self.stack.concat(middleware.stack)
      else
        self.stack << [middleware, args, block]
      end

      self
    end
Adds a middleware class to the middleware stack. Any additional
 args and a block, if given, are saved and passed to the initializer
 of the middleware.

 @param [Class] middleware The middleware class