# File lib/merb-auth-core/router_helper.rb, line 23 def authenticate(*strategies, &block) p = Proc.new do |request, params| if request.session.authenticated? params else if strategies.blank? result = request.session.authenticate!(request, params) else result = request.session.authenticate!(request, params, *strategies) end if request.session.authentication.halted? auth = request.session.authentication [auth.status, auth.headers, auth.body] else params end end end defer(p, &block) end