diff options
author | Adam Jacob <adam@hjksolutions.com> | 2008-06-09 18:53:32 -0700 |
---|---|---|
committer | Adam Jacob <adam@hjksolutions.com> | 2008-06-09 18:53:32 -0700 |
commit | af843190f9be71469c4a20ef8f9021b292c05588 (patch) | |
tree | a38199db4baeaa3380ed41ec6e5e4c30b54b0685 | |
parent | d373915a1ac9ea25fcb52ac8468e4670425e3376 (diff) | |
download | chef-af843190f9be71469c4a20ef8f9021b292c05588.tar.gz |
Huge amount of work, covering openid, clients, and all sorts of server stuff
45 files changed, 9425 insertions, 684 deletions
diff --git a/History.txt b/History.txt index af81c7d967..edd3311c47 100644 --- a/History.txt +++ b/History.txt @@ -4,4 +4,7 @@ * Birthday! Sun Apr 27 20:30:43 PDT 2008 - * Compiled first full recipes, and actually passed them to a provider. :)
\ No newline at end of file + * Compiled first full recipes, and actually passed them to a provider. :) + +Mon Jun 9 01:57:58 PDT 2008 + * Compiled first full recipes over a network, with registration and authorization.
\ No newline at end of file diff --git a/bin/chef-client b/bin/chef-client new file mode 100755 index 0000000000..df7eaa7439 --- /dev/null +++ b/bin/chef-client @@ -0,0 +1,67 @@ +#!/usr/bin/ruby +# +# ./chef-client - Build a meal with chef +# +# Author:: Adam Jacob (<adam@hjksolutions.com>) +# Copyright:: Copyright (c) 2008 HJK Solutions, LLC +# License:: GNU General Public License version 2 or later +# +# This program and entire repository is free software; you can +# redistribute it and/or modify it under the terms of the GNU +# General Public License as published by the Free Software +# Foundation; either version 2 of the License, or any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +$: << File.join(File.dirname(__FILE__), "..", "lib") + +require 'optparse' +require 'chef' +require 'rubygems' +require 'facter' + +config = { + :config_file => "/etc/chef/config.rb", + :log_level => :info, + :noop => false +} +opts = OptionParser.new do |opts| + opts.banner = "Usage: #{$0} [-d DIR|-r FILE] (options)" + opts.on("-c CONFIG", "--config CONFIG", "The Chef Config file to use") do |c| + config[:config_file] = c + end + opts.on("-n", "--noop", "Print what you would do, but don't actually do it.") do + config[:noop] = true + end + opts.on_tail("-l LEVEL", "--loglevel LEVEL", "Set the log level (debug, info, warn, error, fatal)") do |l| + config[:log_level] = l.to_sym + end + opts.on_tail("-h", "--help", "Show this message") do + puts opts + exit + end +end +opts.parse!(ARGV) + +unless File.exists?(config[:config_file]) && File.readable?(config[:config_file]) + puts "I cannot find or read the config file: #{config[:config_file]}" + puts opts + exit +end + +# Load our config file +Chef::Config.from_file(config[:config_file]) +if config[:log_level] + Chef::Log.level(config[:log_level].to_sym) +end + +c = Chef::Client.new +c.run
\ No newline at end of file diff --git a/examples/config/chef-solo.rb b/examples/config/chef-solo.rb index 28a40d0d96..3445a99af7 100644 --- a/examples/config/chef-solo.rb +++ b/examples/config/chef-solo.rb @@ -1,9 +1,10 @@ # # Example Chef Solo Config -cookbook_path File.join(File.dirname(__FILE__), "cookbooks") -node_path File.join(File.dirname(__FILE__), "nodes") +cookbook_path File.join(File.dirname(__FILE__), "cookbooks") +node_path File.join(File.dirname(__FILE__), "nodes") search_index_path File.join(File.dirname(__FILE__), "..", "search_index") -log_level :info +log_level :info +file_store_path "/tmp/chef" Chef::Log::Formatter.show_time = false diff --git a/examples/config/cookbooks/fakefile/recipes/default.rb b/examples/config/cookbooks/fakefile/recipes/default.rb index 3d126518f5..7c79033d52 100644 --- a/examples/config/cookbooks/fakefile/recipes/default.rb +++ b/examples/config/cookbooks/fakefile/recipes/default.rb @@ -1,12 +1,12 @@ file "/tmp/foo" do - owner "adam" - mode 0644 - action :create + owner "adam" + mode 0644 + action :create notifies :delete, resources(:file => "/tmp/glen"), :delayed end link "/tmp/foo" do - link_type :symbolic + link_type :symbolic target_file "/tmp/xmen" end diff --git a/examples/config/nodes/latte.rb b/examples/config/nodes/latte.rb index 8d56684a61..8987738151 100644 --- a/examples/config/nodes/latte.rb +++ b/examples/config/nodes/latte.rb @@ -1,7 +1,7 @@ ## # Nodes should have a unique name ## -name "latte" +name "latte.local" ## # Nodes can set arbitrary arguments diff --git a/lib/chef/client.rb b/lib/chef/client.rb new file mode 100644 index 0000000000..2cd11bb2e0 --- /dev/null +++ b/lib/chef/client.rb @@ -0,0 +1,123 @@ +# +# Author:: Adam Jacob (<adam@hjksolutions.com>) +# Copyright:: Copyright (c) 2008 HJK Solutions, LLC +# License:: GNU General Public License version 2 or later +# +# This program and entire repository is free software; you can +# redistribute it and/or modify it under the terms of the GNU +# General Public License as published by the Free Software +# Foundation; either version 2 of the License, or any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +require File.join(File.dirname(__FILE__), "mixin", "params_validate") + +require 'rubygems' +require 'facter' + +class Chef + class Client + + attr_accessor :node, :registration + + def initialize() + @node = nil + @safe_name = nil + @registration = nil + @rest = Chef::REST.new(Chef::Config[:registration_url]) + end + + def run + build_node + register + authenticate + save_node + converge + end + + def build_node + node_name = Facter["fqdn"].value ? Facter["fqdn"].value : Facter["hostname"].value + @safe_name = node_name.gsub(/\./, '_') + begin + @node = @rest.get_rest("nodes/#{@safe_name}") + rescue Net::HTTPServerException => e + unless e.message =~ /^404/ + raise e + end + end + unless @node + @node ||= Chef::Node.new + @node.name(node_name) + end + Facter.each do |field, value| + @node[field] = value + end + @node + end + + def register + @registration = nil + begin + @registration = @rest.get_rest("registrations/#{@safe_name}") + rescue Net::HTTPServerException => e + unless e.message =~ /^404/ + raise e + end + end + + if @registration + reg = Chef::FileStore.load("registration", @safe_name) + @secret = reg["secret"] + else + create_registration + end + end + + def create_registration + @secret = random_password(40) + Chef::FileStore.store("registration", @safe_name, { "secret" => @secret }) + @rest.post_rest("registrations", { :id => @safe_name, :password => @secret }) + end + + def authenticate + response = @rest.post_rest('openid/consumer/start', { + "openid_identifier" => "#{Chef::Config[:openid_url]}/openid/server/node/#{@safe_name}", + "submit" => "Verify" + }) + @rest.post_rest( + "#{Chef::Config[:openid_url]}#{response["action"]}", + { "password" => @secret } + ) + end + + def save_node + @rest.put_rest("nodes/#{@safe_name}", @node) + end + + def converge + results = @rest.get_rest("nodes/#{@safe_name}/compile") + results["collection"].resources.each do |r| + r.collection = results["collection"] + end + cr = Chef::Runner.new(results["node"], results["collection"]) + cr.converge + end + + protected + def random_password(len) + chars = ("a".."z").to_a + ("A".."Z").to_a + ("0".."9").to_a + newpass = "" + 1.upto(len) { |i| newpass << chars[rand(chars.size-1)] } + newpass + end + + end +end
\ No newline at end of file diff --git a/lib/chef/compile.rb b/lib/chef/compile.rb index 5cd200b098..800d89c6b0 100644 --- a/lib/chef/compile.rb +++ b/lib/chef/compile.rb @@ -35,8 +35,11 @@ class Chef end def load_node(name) - Chef::Log.debug("Loading Chef Node #{name}") - @node = Chef::Node.find(name) + Chef::Log.debug("Loading Chef Node #{name} from CouchDB") + @node = Chef::Node.load(name) + Chef::Log.debug("Loading Recipe for Chef Node #{name}") + @node.find_file(name) + @node end def load_definitions() diff --git a/lib/chef/config.rb b/lib/chef/config.rb index 807631aedb..192b510d17 100644 --- a/lib/chef/config.rb +++ b/lib/chef/config.rb @@ -39,10 +39,16 @@ class Chef @configuration = { :cookbook_path => [ "/etc/chef/site-cookbook", "/etc/chef/cookbook" ], :node_path => "/etc/chef/node", - :file_store_path => "/var/lib/chef/store", - :search_index_path => "/var/lib/chef/search_index", + :file_store_path => "/var/chef/store", + :search_index_path => "/var/chef/search_index", :log_level => :info, - :log_location => STDOUT + :log_location => STDOUT, + :openid_providers => nil, + :ssl_verify_mode => :verify_none, + :rest_timeout => 60, + :couchdb_url => "http://localhost:5984", + :registration_url => "http://localhost:4000", + :openid_url => "http://localhost:4001", } class << self diff --git a/lib/chef/couchdb.rb b/lib/chef/couchdb.rb new file mode 100644 index 0000000000..c5605080a6 --- /dev/null +++ b/lib/chef/couchdb.rb @@ -0,0 +1,132 @@ +require File.join(File.dirname(__FILE__), "mixin", "params_validate") +require 'digest/sha2' +require 'json' + +class Chef + class CouchDB + include Chef::Mixin::ParamsValidate + + def initialize(url=nil) + url ||= Chef::Config[:couchdb_url] + @rest = Chef::REST.new(url) + end + + def create_db + @database_list = @rest.get_rest("_all_dbs") + unless @database_list.detect { |db| db == "chef" } + response = @rest.put_rest("chef", Hash.new) + end + "chef" + end + + def create_design_document(name, data) + to_update = true + begin + old_doc = @rest.get_rest("chef/_design%2F#{name}") + if data["version"] != old_doc["version"] + data["_rev"] = old_doc["_rev"] + Chef::Log.debug("Updating #{name} views") + else + to_update = false + end + rescue + Chef::Log.debug("Creating #{name} views for the first time") + end + if to_update + @rest.put_rest("chef/_design%2F#{name}", data) + end + true + end + + def store(obj_type, name, object) + validate( + { + :obj_type => obj_type, + :name => name, + :object => object, + }, + { + :object => { :respond_to => :to_json }, + } + ) + @rest.put_rest("chef/#{obj_type}_#{safe_name(name)}", object) + end + + def load(obj_type, name) + validate( + { + :obj_type => obj_type, + :name => name, + }, + { + :obj_type => { :kind_of => String }, + :name => { :kind_of => String }, + } + ) + @rest.get_rest("chef/#{obj_type}_#{safe_name(name)}") + end + + def delete(obj_type, name, rev=nil) + validate( + { + :obj_type => obj_type, + :name => name, + }, + { + :obj_type => { :kind_of => String }, + :name => { :kind_of => String }, + } + ) + unless rev + last_obj = @rest.get_rest("chef/#{obj_type}_#{safe_name(name)}") + if last_obj.respond_to?(:couchdb_rev) + rev = last_obj.couchdb_rev + else + rev = last_obj['_rev'] + end + end + @rest.delete_rest("chef/#{obj_type}_#{safe_name(name)}?rev=#{rev}") + end + + def list(view, inflate=false) + validate( + { + :view => view, + }, + { + :view => { :kind_of => String } + } + ) + if inflate + @rest.get_rest("chef/_view/#{view}/all") + else + @rest.get_rest("chef/_view/#{view}/all_id") + end + end + + def has_key?(obj_type, name) + validate( + { + :obj_type => obj_type, + :name => name, + }, + { + :obj_type => { :kind_of => String }, + :name => { :kind_of => String }, + } + ) + begin + @rest.get_rest("chef/#{obj_type}_#{safe_name(name)}") + true + rescue + false + end + end + + private + def safe_name(name) + name.gsub(/\./, "_") + end + + end +end
\ No newline at end of file diff --git a/lib/chef/file_store.rb b/lib/chef/file_store.rb index 1c2b02ed2f..4981cec802 100644 --- a/lib/chef/file_store.rb +++ b/lib/chef/file_store.rb @@ -38,7 +38,6 @@ class Chef ) store_path = create_store_path(obj_type, name) raise "Cannot find #{store_path} for #{obj_type} #{name}!" unless File.exists?(store_path) - object = JSON.parse(IO.read(store_path)) end @@ -59,7 +58,7 @@ class Chef end end - def list(obj_type) + def list(obj_type, inflate=false) validate( { :obj_type => obj_type, @@ -71,7 +70,11 @@ class Chef keys = Array.new Dir[File.join(Chef::Config[:file_store_path], obj_type, '**', '*')].each do |f| if File.file?(f) - keys << File.basename(f) + if inflate + keys << load(obj_type, File.basename(f)) + else + keys << File.basename(f) + end end end keys diff --git a/lib/chef/node.rb b/lib/chef/node.rb index 236bd2f9e1..d7350ac2fa 100644 --- a/lib/chef/node.rb +++ b/lib/chef/node.rb @@ -30,49 +30,53 @@ require 'json' class Chef class Node - attr_accessor :attribute, :recipe_list + attr_accessor :attribute, :recipe_list, :couchdb_rev include Chef::Mixin::CheckHelper include Chef::Mixin::FromFile include Chef::Mixin::ParamsValidate + DESIGN_DOCUMENT = { + "version" => 3, + "language" => "javascript", + "views" => { + "all" => { + "map" => <<-EOJS + function(doc) { + if (doc.chef_type == "node") { + emit(doc.name, doc); + } + } + EOJS + }, + "all_id" => { + "map" => <<-EOJS + function(doc) { + if (doc.chef_type == "node") { + emit(doc.name, doc.name); + } + } + EOJS + }, + }, + } + # Create a new Chef::Node object. def initialize() @name = nil @attribute = Hash.new @recipe_list = Array.new + @couchdb_rev = nil + @couchdb = Chef::CouchDB.new end - # Find a Chef::Node by fqdn. Will search first for Chef::Config["node_path"]/fqdn.rb, then - # hostname.rb, then default.rb. + # Find a recipe for this Chef::Node by fqdn. Will search first for + # Chef::Config["node_path"]/fqdn.rb, then hostname.rb, then default.rb. # # Returns a new Chef::Node object. # # Raises an ArgumentError if it cannot find the node. - def self.find(fqdn) - node_file = self.find_file(fqdn) - unless node_file - raise ArgumentError, "Cannot find a node matching #{fqdn}, not even with default.rb!" - end - chef_node = Chef::Node.new() - chef_node.from_file(node_file) - chef_node - end - - # Returns an array of nodes available, based on the list of files present. - def self.list - results = Array.new - Dir[File.join(Chef::Config[:node_path], "*.rb")].sort.each do |file| - mr = file.match(/^.+\/(.+)\.rb$/) - node_name = mr[1] - results << node_name - end - results - end - - # Returns the file name we would use to build a node. Returns nil if it cannot find - # a file for this node. - def self.find_file(fqdn) + def find_file(fqdn) node_file = nil host_parts = fqdn.split(".") hostname = host_parts[0] @@ -84,6 +88,10 @@ class Chef elsif File.exists?(File.join(Chef::Config[:node_path], "default.rb")) node_file = File.join(Chef::Config[:node_path], "default.rb") end + unless node_file + raise ArgumentError, "Cannot find a node matching #{fqdn}, not even with default.rb!" + end + self.from_file(node_file) end # Set the name of this Node, or return the current name. @@ -169,14 +177,18 @@ class Chef def to_json(*a) attributes = Hash.new recipes = Array.new - { + result = { "name" => @name, 'json_class' => self.class.name, "attributes" => @attribute, + "chef_type" => "node", "recipes" => @recipe_list, - }.to_json(*a) + } + result["_rev"] = @couchdb_rev if @couchdb_rev + result.to_json(*a) end + # Create a Chef::Node from JSON def self.json_create(o) node = new node.name(o["name"]) @@ -186,10 +198,49 @@ class Chef o["recipes"].each do |r| node.recipes << r end - + node.couchdb_rev = o["_rev"] if o.has_key?("_rev") node end + # List all the Chef::Node objects in the CouchDB. If inflate is set to true, you will get + # the full list of all Nodes, fully inflated. + def self.list(inflate=false) + rs = Chef::CouchDB.new.list("nodes", inflate) + if inflate + rs["rows"].collect { |r| r["value"] } + else + rs["rows"].collect { |r| r["key"] } + end + end + + # Load a node by name from CouchDB + def self.load(name) + Chef::CouchDB.new.load("node", name) + end + + # Remove this node from the CouchDB + def destroy + Chef::Queue.send_msg(:queue, :node_remove, self) + @couchdb.delete("node", @name, @couchdb_rev) + end + + # Save this node to the CouchDB + def save + Chef::Queue.send_msg(:queue, :node_index, self) + results = @couchdb.store("node", @name, self) + @couchdb_rev = results["rev"] + end + + # Whether or not there is an OpenID Registration with this key. + def self.has_key?(name) + Chef::CouchDB.new.has_key?("node", name) + end + + # Set up our CouchDB design document + def self.create_design_document + Chef::CouchDB.new.create_design_document("nodes", DESIGN_DOCUMENT) + end + # As a string def to_s "node[#{@name}]" diff --git a/lib/chef/openid_registration.rb b/lib/chef/openid_registration.rb new file mode 100644 index 0000000000..a887e05c2c --- /dev/null +++ b/lib/chef/openid_registration.rb @@ -0,0 +1,179 @@ +# +# Chef::Node::OpenIDRegistration +# +# Author:: Adam Jacob (<adam@hjksolutions.com>) +# Copyright:: Copyright (c) 2008 HJK Solutions, LLC +# License:: GNU General Public License version 2 or later +# +# This program and entire repository is free software; you can +# redistribute it and/or modify it under the terms of the GNU +# General Public License as published by the Free Software +# Foundation; either version 2 of the License, or any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + + +require 'rubygems' +require 'json' + +class Chef + class OpenIDRegistration + + attr_accessor :name, :salt, :validated, :password, :couchdb_rev + + include Chef::Mixin::ParamsValidate + + DESIGN_DOCUMENT = { + "version" => 3, + "language" => "javascript", + "views" => { + "all" => { + "map" => <<-EOJS + function(doc) { + if (doc.chef_type == "openid_registration") { + emit(doc.name, doc); + } + } + EOJS + }, + "all_id" => { + "map" => <<-EOJS + function(doc) { + if (doc.chef_type == "openid_registration") { + emit(doc.name, doc.name); + } + } + EOJS + }, + "validated" => { + "map" => <<-EOJS + function(doc) { + if (doc.chef_type == "openid_registration") { + if (doc.validated == true) { + emit(doc.name, doc); + } + } + } + EOJS + }, + "unvalidated" => { + "map" => <<-EOJS + function(doc) { + if (doc.chef_type == "openid_registration") { + if (doc.validated == false) { + emit(doc.name, doc); + } + } + } + EOJS + }, + }, + } + + # Create a new Chef::OpenIDRegistration object. + def initialize() + @name = nil + @salt = nil + @password = nil + @validated = false + @couchdb_rev = nil + @couchdb = Chef::CouchDB.new + end + + def name=(n) + @name = n.gsub(/\./, '_') + end + + # Set the password for this object. + def set_password(password) + @salt = generate_salt + @password = encrypt_password(@salt, password) + end + + # Serialize this object as a hash + def to_json(*a) + attributes = Hash.new + recipes = Array.new + result = { + 'name' => @name, + 'json_class' => self.class.name, + 'salt' => @salt, + 'password' => @password, + 'validated' => @validated, + 'chef_type' => 'openid_registration', + } + result["_rev"] = @couchdb_rev if @couchdb_rev + result.to_json(*a) + end + + # Create a Chef::Node from JSON + def self.json_create(o) + me = new + me.name = o["name"] + me.salt = o["salt"] + me.password = o["password"] + me.validated = o["validated"] + me.couchdb_rev = o["_rev"] if o.has_key?("_rev") + me + end + + # List all the Chef::OpenIDRegistration objects in the CouchDB. If inflate is set to true, you will get + # the full list of all registration objects. Otherwise, you'll just get the IDs + def self.list(inflate=false) + rs = Chef::CouchDB.new.list("registrations", inflate) + if inflate + rs["rows"].collect { |r| r["value"] } + else + rs["rows"].collect { |r| r["key"] } + end + end + + # Load an OpenIDRegistration by name from CouchDB + def self.load(name) + Chef::CouchDB.new.load("openid_registration", name) + end + + # Whether or not there is an OpenID Registration with this key. + def self.has_key?(name) + Chef::CouchDB.new.has_key?("openid_registration", name) + end + + # Remove this node from the CouchDB + def destroy + @couchdb.delete("openid_registration", @name, @couchdb_rev) + end + + # Save this node to the CouchDB + def save + results = @couchdb.store("openid_registration", @name, self) + @couchdb_rev = results["rev"] + end + + # Set up our CouchDB design document + def self.create_design_document + Chef::CouchDB.new.create_design_document("registrations", DESIGN_DOCUMENT) + end + + protected + + def generate_salt + salt = Time.now.to_s + chars = ("a".."z").to_a + ("A".."Z").to_a + ("0".."9").to_a + 1.upto(30) { |i| salt << chars[rand(chars.size-1)] } + salt + end + + def encrypt_password(salt, password) + Digest::SHA1.hexdigest("--#{salt}--#{password}--") + end + + end +end
\ No newline at end of file diff --git a/lib/chef/platform.rb b/lib/chef/platform.rb index 2e5899a5af..55e85ae354 100644 --- a/lib/chef/platform.rb +++ b/lib/chef/platform.rb @@ -73,11 +73,12 @@ class Chef pmap = Chef::Platform.find(platform, version) rtkey = resource_type if resource_type.kind_of?(Chef::Resource) - rtkey = resource_type.resource_name + rtkey = resource_type.resource_name.to_sym end if pmap.has_key?(rtkey) pmap[rtkey] else + Chef::Log.error("#{rtkey.inspect} #{pmap.inspect}") raise( ArgumentError, "Cannot find a provider for #{resource_type} on #{platform} version #{version}" diff --git a/lib/chef/resource.rb b/lib/chef/resource.rb index 705738fe59..74f27bcb82 100644 --- a/lib/chef/resource.rb +++ b/lib/chef/resource.rb @@ -28,8 +28,8 @@ class Chef include Chef::Mixin::CheckHelper include Chef::Mixin::ParamsValidate - attr_accessor :actions, :params, :provider, :updated, :allowed_actions - attr_reader :resource_name, :collection, :source_line + attr_accessor :actions, :params, :provider, :updated, :allowed_actions, :collection + attr_reader :resource_name, :source_line def initialize(name, collection=nil) @name = name @@ -124,10 +124,11 @@ class Chef self.instance_variables.each do |iv| instance_vars[iv] = self.instance_variable_get(iv) unless iv == "@collection" end - { + results = { 'json_class' => self.class.name, 'instance_vars' => instance_vars - }.to_json(*a) + } + results.to_json(*a) end def self.json_create(o) diff --git a/lib/chef/resource_collection.rb b/lib/chef/resource_collection.rb index 362781ea0e..e53a759460 100644 --- a/lib/chef/resource_collection.rb +++ b/lib/chef/resource_collection.rb @@ -118,10 +118,11 @@ class Chef self.instance_variables.each do |iv| instance_vars[iv] = self.instance_variable_get(iv) end - { + results = { 'json_class' => self.class.name, 'instance_vars' => instance_vars - }.to_json(*a) + } + results.to_json(*a) end def self.json_create(o) diff --git a/lib/chef/rest.rb b/lib/chef/rest.rb index 1ca18e4ef5..f71c203b3a 100644 --- a/lib/chef/rest.rb +++ b/lib/chef/rest.rb @@ -26,7 +26,104 @@ require 'json' class Chef class REST - def initialize(url, username) + def initialize(url) + @url = url + @cookies = Hash.new + end + + # Send an HTTP GET request to the path + def get_rest(path) + run_request(:GET, create_url(path)) + end + + # Send an HTTP DELETE request to the path + def delete_rest(path) + run_request(:DELETE, create_url(path)) + end + + # Send an HTTP POST request to the path + def post_rest(path, json) + run_request(:POST, create_url(path), json) + end + + # Send an HTTP PUT request to the path + def put_rest(path, json) + run_request(:PUT, create_url(path), json) + end + + def create_url(path) + if path =~ /^(http|https):\/\// + URI.parse(path) + else + URI.parse("#{@url}/#{path}") + end + end + + # Actually run an HTTP request. First argument is the HTTP method, + # which should be one of :GET, :PUT, :POST or :DELETE. Next is the + # URL, then an object to include in the body (which will be converted with + # .to_json) and finally, the limit of HTTP Redirects to follow (10). + # + # Typically, you won't use this method -- instead, you'll use one of + # the helper methods (get_rest, post_rest, etc.) + # + # Will return the body of the response on success. + def run_request(method, url, data=false, limit=10) + raise ArgumentError, 'HTTP redirect too deep' if limit == 0 + + http = Net::HTTP.new(url.host, url.port) + if url.scheme == "https" + http.use_ssl = true + if Chef::Config[:ssl_verify_mode] == :verify_none + http.verify_mode = OpenSSL::SSL::VERIFY_NONE + end + end + http.read_timeout = Chef::Config[:rest_timeout] + headers = { + 'Accept' => "application/json", + } + if @cookies["#{url.host}:#{url.port}"] + headers['Cookie'] = @cookies["#{url.host}:#{url.port}"] + end + req = nil + case method + when :GET + req_path = "#{url.path}" + req_path << "?#{url.query}" if url.query + req = Net::HTTP::Get.new(req_path, headers) + when :POST + headers["Content-Type"] = 'application/json' if data + req = Net::HTTP::Post.new(url.path, headers) + req.body = data.to_json if data + when :PUT + headers["Content-Type"] = 'application/json' if data + req = Net::HTTP::Put.new(url.path, headers) + req.body = data.to_json if data + when :DELETE + req_path = "#{url.path}" + req_path << "?#{url.query}" if url.query + req = Net::HTTP::Delete.new(req_path, headers) + else + raise ArgumentError, "You must provide :GET, :PUT, :POST or :DELETE as the method" + end + res = http.request(req) + if res.kind_of?(Net::HTTPSuccess) + if res['set-cookie'] + @cookies["#{url.host}:#{url.port}"] = res['set-cookie'] + end + if res['content-type'] == "application/json" + JSON.parse(res.body) + else + res.body + end + elsif res.kind_of?(Net::HTTPRedirection) + if res['set-cookie'] + @cookies["#{url.host}:#{url.port}"] = res['set-cookie'] + end + run_request(:GET, create_url(res['location']), false, limit - 1) + else + res.error! + end end end diff --git a/packages/chef-server/app/controllers/application.rb b/packages/chef-server/app/controllers/application.rb index 5ce39a0102..4a0d247306 100644 --- a/packages/chef-server/app/controllers/application.rb +++ b/packages/chef-server/app/controllers/application.rb @@ -1,2 +1,69 @@ class Application < Merb::Controller + + def fix_up_node_id + if params.has_key?(:id) + params[:id].gsub!(/_/, '.') + end + end + + def escape_node_id + if params.has_key?(:id) + params[:id].gsub(/_/, '.') + end + end + + def login_required + if session[:openid] + return session[:openid] + else + self.store_location + throw(:halt, :access_denied) + end + end + + def authorized_node + if session[:level] == :admin + Chef::Log.debug("Authorized as Administrator") + true + elsif session[:level] == :node + Chef::Log.debug("Authorized as node") + if session[:node_name] == params[:id].gsub(/\./, '_') + true + else + raise( + Unauthorized, + "You are not the correct node for this action: #{session[:node_name]} instead of #{params[:id]}" + ) + end + else + Chef::Log.debug("Unauthorized") + raise Unauthorized, "You are not allowed to take this action." + end + end + + # Store the URI of the current request in the session. + # + # We can return to this location by calling #redirect_back_or_default. + def store_location + session[:return_to] = request.uri + end + + # Redirect to the URI stored by the most recent store_location call or + # to the passed default. + def redirect_back_or_default(default) + loc = session[:return_to] || default + session[:return_to] = nil + redirect loc + end + + def access_denied + case content_type + when :html + store_location + redirect url(:openid_consumer) + else + raise Unauthorized, "You must authenticate first!" + end + end + end
\ No newline at end of file diff --git a/packages/chef-server/app/controllers/nodes.rb b/packages/chef-server/app/controllers/nodes.rb index 340a981899..aa7273c47d 100644 --- a/packages/chef-server/app/controllers/nodes.rb +++ b/packages/chef-server/app/controllers/nodes.rb @@ -3,27 +3,28 @@ class Nodes < Application provides :html, :json before :fix_up_node_id + before :login_required, :only => [ :create, :update, :destroy ] + before :authorized_node, :only => [ :update, :destroy ] def index - @node_list = Chef::FileStore.list("node") + @node_list = Chef::Node.list display @node_list end def show begin - @node = Chef::FileStore.load("node", params[:id]) - rescue RuntimeError => e - raise BadRequest, "Cannot load node #{params[:id]}" + @node = Chef::Node.load(params[:id]) + rescue Net::HTTPServerException => e + raise NotFound, "Cannot load node #{params[:id]}" end display @node end def create - @node = params.has_key?("inflated_object") ? params["inflated_object"] : nil + @node = params.has_key?("inflated_object") ? params["inflated_object"] : nil if @node @status = 202 - Chef::FileStore.store("node", @node.name, @node) - Chef::Queue.send_msg(:queue, :node_index, @node) + @node.save display @node else raise BadRequest, "You must provide a Node to create" @@ -34,40 +35,33 @@ class Nodes < Application @node = params.has_key?("inflated_object") ? params["inflated_object"] : nil if @node @status = 202 - Chef::FileStore.store("node", @node.name, @node) - Chef::Queue.send_msg(:queue, :node_index, @node) + @node.save display @node else - raise BadRequest, "You must provide a Node to update" + raise NotFound, "You must provide a Node to update" end end def destroy begin - @node = Chef::FileStore.load("node", params[:id]) + @node = Chef::Node.load(params[:id]) rescue RuntimeError => e raise BadRequest, "Node #{params[:id]} does not exist to destroy!" end @status = 202 - Chef::FileStore.delete("node", params[:id]) - Chef::Queue.send_msg(:queue, :node_remove, @node) - display @node + @node.destroy + if content_type == :html + redirect url(:nodes) + else + display @node + end end def compile # Grab a Chef::Compile object compile = Chef::Compile.new() compile.load_node(params[:id]) - - stored_node = Chef::FileStore.load("node", params[:id]) - - stored_node.each_attribute do |field, value| - compile.node[field] = value - end - stored_node.recipes.each do |r| - compile.node.recipes << r unless compile.node.recipes.detect { |h| r == h } - end - Chef::FileStore.store("node", params[:id], compile.node) + compile.node.save compile.load_definitions compile.load_recipes @output = { @@ -77,10 +71,4 @@ class Nodes < Application display @output end - def fix_up_node_id - if params.has_key?(:id) - params[:id].gsub!(/_/, '.') - end - end - end diff --git a/packages/chef-server/app/controllers/openid_consumer.rb b/packages/chef-server/app/controllers/openid_consumer.rb index 58f18445e1..1c8b76296c 100644 --- a/packages/chef-server/app/controllers/openid_consumer.rb +++ b/packages/chef-server/app/controllers/openid_consumer.rb @@ -5,16 +5,18 @@ require 'openid/store/filesystem' class OpenidConsumer < Application + provides :html, :json + def index render end def start + check_valid_openid_provider(params[:openid_identifier]) begin oidreq = consumer.begin(params[:openid_identifier]) rescue OpenID::OpenIDError => e - session[:error] = "Discovery failed for #{params[:openid_identifier]}: #{e}" - return redirect(url(:openid_consumer)) + raise BadRequest, "Discovery failed for #{params[:openid_identifier]}: #{e}" end return_to = absolute_url(:openid_consumer_complete) realm = absolute_url(:openid_consumer) @@ -33,26 +35,58 @@ class OpenidConsumer < Application parameters = params.reject{|k,v| k == "controller" || k == "action"} oidresp = consumer.complete(parameters, current_url) case oidresp.status - when OpenID::Consumer::FAILURE - if oidresp.display_identifier - session[:error] = ("Verification of #{oidresp.display_identifier}"\ - " failed: #{oidresp.message}") + when OpenID::Consumer::FAILURE + if oidresp.display_identifier + raise BadRequest, "Verification of #{oidresp.display_identifier} failed: #{oidresp.message}" + else + raise BadRequest, "Verification failed: #{oidresp.message}" + end + when OpenID::Consumer::SUCCESS + session[:openid] = oidresp.identity_url + if oidresp.display_identifier =~ /openid\/server\/node\/(.+)$/ + session[:level] = :node + session[:node_name] = $1 + else + session[:level] = :admin + end + redirect_back_or_default(absolute_url(:nodes)) + return "Verification of #{oidresp.display_identifier} succeeded." + when OpenID::Consumer::SETUP_NEEDED + return "Immediate request failed - Setup Needed" + when OpenID::Consumer::CANCEL + return "OpenID transaction cancelled." else - session[:error] = "Verification failed: #{oidresp.message}" - end - when OpenID::Consumer::SUCCESS - session[:success] = ("Verification of #{oidresp.display_identifier}"\ - " succeeded.") - when OpenID::Consumer::SETUP_NEEDED - session[:alert] = "Immediate request failed - Setup Needed" - when OpenID::Consumer::CANCEL - session[:alert] = "OpenID transaction cancelled." - else end - redirect url(:openid_consumer) + redirect absolute_url(:openid_consumer) + end + + def logout + session[:openid] = nil if session.has_key?(:openid) + session[:level] = nil if session.has_key?(:level) + session[:node_name] = nil if session.has_key?(:node_name) + redirect url(:top) end private + + # Returns true if the openid is at a valid provider, based on whether :openid_providers is + # defined. Raises an exception if it is not an allowed provider. + def check_valid_openid_provider(openid) + if Chef::Config[:openid_providers] + fp = Chef::Config[:openid_providers].detect do |p| + case openid + when /^http:\/\/#{p}/, /^#{p}/ + true + else + false + end + end + unless fp + raise Unauthorized, "Sorry, #{openid} is not an allowed OpenID Provider." + end + end + true + end def consumer if @consumer.nil? diff --git a/packages/chef-server/app/controllers/openid_register.rb b/packages/chef-server/app/controllers/openid_register.rb index 2636524a2d..a6c30c95c5 100644 --- a/packages/chef-server/app/controllers/openid_register.rb +++ b/packages/chef-server/app/controllers/openid_register.rb @@ -6,39 +6,40 @@ require 'openid' class OpenidRegister < Application provides :html, :json + + before :fix_up_node_id def index - @headers['X-XRDS-Location'] = absolute_url(:controller => "server", :action => "idp_xrds") - @registered_nodes = Chef::FileStore.list("openid_node") + @headers['X-XRDS-Location'] = absolute_url(:controller => "openid_server", :action => "idp_xrds") + @registered_nodes = Chef::OpenIDRegistration.list(true) + Chef::Log.debug(@registered_nodes.inspect) display @registered_nodes end def show begin - @registered_node = Chef::FileStore.load("openid_node", params[:id]) - rescue RuntimeError => e - raise NotFound, "Cannot load node registration for #{params[:id]}" - end + @registered_node = Chef::OpenIDRegistration.load(params[:id]) + rescue Net::HTTPServerException => e + if e.message =~ /^404/ + raise NotFound, "Cannot load node registration for #{params[:id]}" + else + raise e + end + end + Merb.logger.debug(@registered_node.inspect) display @registered_node end def create params.has_key?(:id) or raise BadRequest, "You must provide an id to register" params.has_key?(:password) or raise BadRequest, "You must provide a password to register" - if Chef::FileStore.has_key?("openid_node", params[:id]) + if Chef::OpenIDRegistration.has_key?(params[:id]) raise BadRequest, "You cannot re-register #{params[:id]}!" end - salt = generate_salt - @registered_node = { - :id => params[:id], - :salt => salt, - :password => encrypt_password(salt, params[:password]) - } - Chef::FileStore.store( - "openid_node", - params[:id], - @registered_node - ) + @registered_node = Chef::OpenIDRegistration.new + @registered_node.name = params[:id] + @registered_node.set_password(params[:password]) + @registered_node.save display @registered_node end @@ -47,47 +48,27 @@ class OpenidRegister < Application end def destroy - unless Chef::FileStore.has_key?("openid_node", params[:id]) + begin + r = Chef::OpenIDRegistration.load(params[:id]) + rescue Exception => e raise BadRequest, "Cannot find the registration for #{params[:id]}" end - Chef::FileStore.delete("openid_node", params[:id]) - display({ :message => "Deleted registration for #{params[:id]}"}) - end - - def submit - user = params[:username] - - # if we get a user, log them in by putting their username in - # the session hash. - unless user.nil? - session[:username] = user unless user.nil? - session[:approvals] = [] - session[:notice] = "Your OpenID URL is <b> - #{url(:controller => "openid_server", :action => "user_page", :username => params[:username])} - </b><br/><br/>Proceed to step 2 below." + r.destroy + if content_type == :html + redirect url(:registrations) else - session[:error] = "Sorry, couldn't log you in. Try again." + display({ :message => "Deleted registration for #{params[:id]}"}) end - - redirect url(:openid_login) - end - - def logout - # delete the username from the session hash - session[:username] = nil - session[:approvals] = nil - redirect url(:openid_login) end - - private - def generate_salt - salt = Time.now.to_s - chars = ("a".."z").to_a + ("A".."Z").to_a + ("0".."9").to_a - 1.upto(30) { |i| salt << chars[rand(chars.size-1)] } - salt - end - - def encrypt_password(salt, password) - Digest::SHA1.hexdigest("--#{salt}--#{password}--") + + def validate + begin + r = Chef::OpenIDRegistration.load(params[:id]) + rescue Exception => e + raise BadRequest, "Cannot find the registration for #{params[:id]}" end + r.validated = r.validated ? false : true + r.save + redirect url(:registrations) + end end diff --git a/packages/chef-server/app/controllers/openid_server.rb b/packages/chef-server/app/controllers/openid_server.rb index cfdb4c4169..665af1fb6d 100644 --- a/packages/chef-server/app/controllers/openid_server.rb +++ b/packages/chef-server/app/controllers/openid_server.rb @@ -8,18 +8,23 @@ require 'pathname' require "openid" require "openid/consumer/discovery" require 'openid/store/filesystem' +require 'json' #end class OpenidServer < Application + provides :html, :json + include Merb::OpenidServerHelper include OpenID::Server layout nil + + before :fix_up_node_id def index - - oidreq = server.decode_request(params) + + oidreq = server.decode_request(params.reject{|k,v| k == "controller" || k == "action"}) # no openid.mode was given unless oidreq @@ -29,21 +34,8 @@ class OpenidServer < Application oidresp = nil if oidreq.kind_of?(CheckIDRequest) - identity = oidreq.identity - if oidreq.id_select - if oidreq.immediate - oidresp = oidreq.answer(false) - elsif session[:username].nil? - # The user hasn't logged in. - return show_decision_page(oidreq) - else - # Else, set the identity to the one the user is using. - identity = url_for_user - end - end - if oidresp nil elsif self.is_authorized(identity, oidreq.trust_root) @@ -52,9 +44,14 @@ class OpenidServer < Application server_url = url :openid_server oidresp = oidreq.answer(false, server_url) else - return show_decision_page(oidreq) + if content_type != 'application/json' + session[:last_oidreq] = oidreq + response = { :action => url(:openid_server_decision) } + return response.to_json + else + return show_decision_page(oidreq) + end end - else oidresp = server.handle_request(oidreq) end @@ -73,7 +70,11 @@ class OpenidServer < Application render :template => 'openid_server/decide' end - def user_page + def node_page + unless Chef::OpenIDRegistration.has_key?(params[:id]) + raise NotFound, "Cannot find registration for #{params[:id]}" + end + # Yadis content-negotiation: we want to return the xrds if asked for. accept = request.env['HTTP_ACCEPT'] @@ -81,16 +82,16 @@ class OpenidServer < Application # to do real Accept header parsing and logic. Though I expect it will work # 99% of the time. if accept and accept.include?('application/xrds+xml') - return user_xrds + return node_xrds end # content negotiation failed, so just render the user page - xrds_url = url(:openid_user_xrds, :username => params[:username]) + xrds_url = absolute_url(:openid_node_xrds, :id => params[:id]) identity_page = <<EOS <html><head> <meta http-equiv="X-XRDS-Location" content="#{xrds_url}" /> -<link rel="openid.server" href="#{absolute_url :openid_user, :username}" /> -</head><body><p>OpenID identity page for #{params[:username]}</p> +<link rel="openid.server" href="#{absolute_url(:openid_node, :id => params[:id])}" /> +</head><body><p>OpenID identity page for registration #{params[:id]}</p> </body></html> EOS @@ -100,11 +101,10 @@ EOS render identity_page end - def user_xrds + def node_xrds types = [ OpenID::OPENID_2_0_TYPE, - OpenID::OPENID_1_0_TYPE, - OpenID::SREG_URI, + OpenID::OPENID_1_0_TYPE ] render_xrds(types) @@ -122,37 +122,36 @@ EOS oidreq = session[:last_oidreq] session[:last_oidreq] = nil - if params[:yes].nil? - redirect oidreq.cancel_url - return - else - id_to_send = params[:id_to_send] - + if params.has_key?(:cancel) + Merb.logger.info("Cancelling OpenID Authentication") + return(redirect(oidreq.cancel_url)) + else identity = oidreq.identity - if oidreq.id_select - if id_to_send and id_to_send != "" - session[:username] = id_to_send - session[:approvals] = [] - identity = url_for_user + identity =~ /node\/(.+)$/ + openid_node = Chef::OpenIDRegistration.load($1) + unless openid_node.validated + raise Unauthorized, "This nodes registration has not been validated" + end + if openid_node.password == encrypt_password(openid_node.salt, params[:password]) + if session[:approvals] + session[:approvals] << oidreq.trust_root else - msg = "You must enter a username to in order to send " + - "an identifier to the Relying Party." - return show_decision_page(oidreq, msg) + session[:approvals] = [oidreq.trust_root] end - end - - if session[:approvals] - session[:approvals] << oidreq.trust_root + oidresp = oidreq.answer(true, nil, identity) + return self.render_response(oidresp) else - session[:approvals] = [oidreq.trust_root] + raise Unauthorized, "Invalid credentials" end - oidresp = oidreq.answer(true, nil, identity) - return self.render_response(oidresp) end end protected + def encrypt_password(salt, password) + Digest::SHA1.hexdigest("--#{salt}--#{password}--") + end + def server if @server.nil? server_url = absolute_url(:openid_server) diff --git a/packages/chef-server/app/helpers/openid_server_helpers.rb b/packages/chef-server/app/helpers/openid_server_helpers.rb index 8e595ead01..73be9cab27 100644 --- a/packages/chef-server/app/helpers/openid_server_helpers.rb +++ b/packages/chef-server/app/helpers/openid_server_helpers.rb @@ -2,7 +2,7 @@ module Merb module OpenidServerHelper def url_for_user - url(:openid_user, :username => session[:username]) + url(:openid_node, :username => session[:username]) end end diff --git a/packages/chef-server/app/views/layout/application.html.haml b/packages/chef-server/app/views/layout/application.html.haml index ea9d378ad4..f04f299d2c 100644 --- a/packages/chef-server/app/views/layout/application.html.haml +++ b/packages/chef-server/app/views/layout/application.html.haml @@ -6,10 +6,17 @@ %meta{"http-equiv" => "content-type", :content => "text/html; charset=utf-8" } %link{:rel => "stylesheet", :href => "/stylesheets/master.css", :type => "text/css", :media => "screen", :charset => "utf-8" } %body + .header + %a{:href => url(:nodes) } Nodes + | + %a{:href => url(:registrations)} Registrations + - if session[:openid] + | + %a{:href => url(:openid_consumer_logout)}= "Logout #{h session[:openid]}" + = "(#{session[:level].to_s})" + - else + | + %a{:href => url(:openid_consumer)} Login = catch_content :for_layout - .footer - - if session[:username] - %a{:href => url(:openid_logout)}= "Log Out #{session[:username]}" - %br/ - = absolute_url(:openid_user, :username => session[:username]) +
\ No newline at end of file diff --git a/packages/chef-server/app/views/nodes/index.html.haml b/packages/chef-server/app/views/nodes/index.html.haml index 908f72fab5..667e1c7317 100644 --- a/packages/chef-server/app/views/nodes/index.html.haml +++ b/packages/chef-server/app/views/nodes/index.html.haml @@ -3,3 +3,7 @@ .node %a{ :href => url(:node, { :id => node.gsub(/\./, "_") }) } = node + %form{ :method => "post", :action => url(:node, { :id => node.gsub(/\./, "_") })} + %input{ :type => "hidden", :name => "_method", :value => "delete" } + %input{ :type => "submit", :name => "Delete", :value => "Delete" } +
\ No newline at end of file diff --git a/packages/chef-server/app/views/openid_consumer/start.htmlhaml b/packages/chef-server/app/views/openid_consumer/start.html.haml index 75ed9a9257..75ed9a9257 100644 --- a/packages/chef-server/app/views/openid_consumer/start.htmlhaml +++ b/packages/chef-server/app/views/openid_consumer/start.html.haml diff --git a/packages/chef-server/app/views/openid_register/index.html.haml b/packages/chef-server/app/views/openid_register/index.html.haml new file mode 100644 index 0000000000..fe4798c59d --- /dev/null +++ b/packages/chef-server/app/views/openid_register/index.html.haml @@ -0,0 +1,15 @@ +%h1 Registered OpenID Nodes List +%table +- @registered_nodes.each do |node| + %tr + %td + %a{ :href => url(:registration, { :id => node.name }) } + = h node.name + %td + - if session[:level] == :admin + %form{ :method => "post", :action => url(:validate_registration, { :id => node.name })} + - submit_name = node.validated ? "Invalidate" : "Validate" + %input{ :type => "submit", :name => submit_name, :value => submit_name } + %form{ :method => "post", :action => url(:registration, { :id => node.name })} + %input{ :type => "hidden", :name => "_method", :value => "delete" } + %input{ :type => "submit", :name => "Delete", :value => "Delete" } diff --git a/packages/chef-server/app/views/openid_register/show.html.haml b/packages/chef-server/app/views/openid_register/show.html.haml new file mode 100644 index 0000000000..cfd38e8963 --- /dev/null +++ b/packages/chef-server/app/views/openid_register/show.html.haml @@ -0,0 +1,5 @@ +%h1= "Registered OpenID Node #{@registered_node.name}" +%ol + %li + %a{ :href => url(:openid_node , { :id => @registered_node.name.gsub(/\./, "_") }) } OpenID URL + %li= "Validated: #{@registered_node.validated}" diff --git a/packages/chef-server/app/views/openid_server/decide.html.haml b/packages/chef-server/app/views/openid_server/decide.html.haml index 78b0b60881..8082a5068d 100644 --- a/packages/chef-server/app/views/openid_server/decide.html.haml +++ b/packages/chef-server/app/views/openid_server/decide.html.haml @@ -8,7 +8,7 @@ %td{:colspan => "2"} You entered the server identifier at the relying party. You will need to send an identifier of your choosing. - Enter a username below. + Enter a username and password below. %tr %td Identity to send: %td @@ -17,5 +17,11 @@ %tr %td Identity: %td= @oidreq.identity - %input{:type => "submit", :name => "yes", :value => "yes"} - %input{:type => "submit", :name => "no", :value => "no"}
\ No newline at end of file + %tr + %td + %label{:for => "password"} Password: + %td + %input{:type => "password", :name => "password"} + %input{:type => "submit", :name => "submit", :value => "Authenticate"} + %input{:type => "submit", :name => "cancel", :value => "Cancel"} + diff --git a/packages/chef-server/config/chef-server.rb b/packages/chef-server/config/chef-server.rb index 1763cf7263..3e14b07c0f 100644 --- a/packages/chef-server/config/chef-server.rb +++ b/packages/chef-server/config/chef-server.rb @@ -6,4 +6,6 @@ node_path File.join(File.dirname(__FILE__), "..", "..", "..", "examples", "c file_store_path File.join(File.dirname(__FILE__), "..", "..", "..", "examples", "store") log_level :debug +openid_providers [ "localhost:4001", "openid.hjksolutions.com" ] + Chef::Log::Formatter.show_time = false diff --git a/packages/chef-server/config/router.rb b/packages/chef-server/config/router.rb index 9cf5725c44..776cf99f42 100644 --- a/packages/chef-server/config/router.rb +++ b/packages/chef-server/config/router.rb @@ -32,28 +32,29 @@ Merb::Router.prepare do |r| r.resources :nodes r.resources :nodes, :member => { :compile => :get } - r.resources :openid do |res| - res.resources :register, :controller => "openid_register" - end - + #r.resources :openid do |res| + # res.resources :register, :controller => "openid_register" + # res.resources :server, :controller => "openid_server" + #end + + r.resources :registrations, :controller => "openid_register" + r.resources :registrations, :controller => "openid_register", :member => { :validate => :post } r.match("/openid/server").to(:controller => "openid_server", :action => "index").name(:openid_server) r.match("/openid/server/server/xrds"). to(:controller => "openid_server", :action => 'idp_xrds').name(:openid_server_xrds) - r.match("/openid/server/user/:username"). - to(:controller => "openid_server", :action => 'user_page').name(:openid_user) - r.match('/openid/server/user/:username/xrds'). - to(:controller => 'openid_server', :action => 'user_xrds').name(:openid_user_xrds) + r.match("/openid/server/node/:id"). + to(:controller => "openid_server", :action => 'node_page').name(:openid_node) + r.match('/openid/server/node/:id/xrds'). + to(:controller => 'openid_server', :action => 'node_xrds').name(:openid_node_xrds) r.match('/openid/server/decision').to(:controller => "openid_server", :action => "decision").name(:openid_server_decision) - r.match('/openid/login').to(:controller => 'openid_login', :action => 'index').name(:openid_login) - r.match('/openid/login/submit').to(:controller => 'openid_login', :action => 'submit').name(:openid_login_submit) - r.match('/openid/login/logout').to(:controller => 'openid_login', :action => 'logout').name(:openid_logout) r.match('/openid/consumer').to(:controller => 'openid_consumer', :action => 'index').name(:openid_consumer) r.match('/openid/consumer/start').to(:controller => 'openid_consumer', :action => 'start').name(:openid_consumer_start) r.match('/openid/consumer/complete').to(:controller => 'openid_consumer', :action => 'complete').name(:openid_consumer_complete) + r.match('/openid/consumer/logout').to(:controller => 'openid_consumer', :action => 'logout').name(:openid_consumer_logout) #r.default_routes # Change this for your home page to be available at / - # r.match('/').to(:controller => 'whatever', :action =>'index') + r.match('/').to(:controller => 'nodes', :action =>'index').name(:top) end diff --git a/packages/chef-server/log/merb_test.log b/packages/chef-server/log/merb_test.log index b60074d0ae..e7e4a11f95 100644 --- a/packages/chef-server/log/merb_test.log +++ b/packages/chef-server/log/merb_test.log @@ -4663,3 +4663,7570 @@ undefined method `connect' for #<Merb::Router::Behavior:0x1830e7c> - (NoMethodEr ~ {:action_time=>0.000213, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} ~ {:action_time=>0.00045, :before_filters_time=>7.0e-06, :after_filters_time=>5.0e-06} ~ {:action_time=>0.000228, :before_filters_time=>7.0e-06, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.006056, :before_filters_time=>1.5e-05, :after_filters_time=>1.0e-05} + ~ {:action_time=>0.000347, :before_filters_time=>1.1e-05, :after_filters_time=>1.1e-05} + ~ {:action_time=>0.000624, :before_filters_time=>1.0e-05, :after_filters_time=>8.0e-06} + ~ {:action_time=>0.000392, :before_filters_time=>9.0e-06, :after_filters_time=>8.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001858, :before_filters_time=>1.2e-05, :after_filters_time=>1.1e-05} + ~ {:action_time=>0.000301, :before_filters_time=>1.0e-05, :after_filters_time=>9.0e-06} + ~ {:action_time=>0.00056, :before_filters_time=>9.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000268, :before_filters_time=>7.0e-06, :after_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001143, :before_filters_time=>9.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000212, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.00044, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000229, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001237, :before_filters_time=>8.5e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.00049, :before_filters_time=>0.000317, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000291, :before_filters_time=>9.8e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000219, :before_filters_time=>7.5e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.00024, :before_filters_time=>3.2e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000248, :before_filters_time=>4.2e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000311, :before_filters_time=>8.5e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000298, :before_filters_time=>9.3e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.00027, :before_filters_time=>7.7e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000261, :before_filters_time=>7.7e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000241, :before_filters_time=>7.4e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000405, :before_filters_time=>8.9e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000386, :before_filters_time=>7.6e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000372, :before_filters_time=>9.6e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000363, :before_filters_time=>7.6e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.095873, :before_filters_time=>7.5e-05, :after_filters_time=>1.7e-05} + ~ {:action_time=>0.00065, :before_filters_time=>0.000149, :after_filters_time=>1.1e-05} + ~ {:action_time=>0.000593, :before_filters_time=>1.1e-05, :after_filters_time=>9.0e-06} + ~ {:action_time=>0.000316, :before_filters_time=>9.0e-06, :after_filters_time=>8.0e-06} + ~ {:action_time=>0.000519, :before_filters_time=>8.0e-06, :after_filters_time=>8.0e-06} + ~ {:action_time=>0.000274, :before_filters_time=>8.0e-06, :after_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001374, :before_filters_time=>8.2e-05, :after_filters_time=>8.0e-06} + ~ {:action_time=>0.000227, :before_filters_time=>6.3e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.00033, :before_filters_time=>0.00011, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000259, :before_filters_time=>9.0e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000249, :before_filters_time=>3.4e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000244, :before_filters_time=>3.6e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000278, :before_filters_time=>8.4e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000247, :before_filters_time=>7.5e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.00026, :before_filters_time=>7.5e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000264, :before_filters_time=>7.9e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000245, :before_filters_time=>7.5e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000423, :before_filters_time=>0.0001, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000387, :before_filters_time=>7.7e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000349, :before_filters_time=>7.5e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000355, :before_filters_time=>7.8e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.001799, :before_filters_time=>8.3e-05, :after_filters_time=>8.0e-06} + ~ {:action_time=>0.000385, :before_filters_time=>8.9e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000372, :before_filters_time=>7.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000221, :before_filters_time=>7.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.00045, :before_filters_time=>8.0e-06, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000242, :before_filters_time=>7.0e-06, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001205, :before_filters_time=>7.3e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000204, :before_filters_time=>5.4e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000273, :before_filters_time=>9.2e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000219, :before_filters_time=>7.5e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000279, :before_filters_time=>4.2e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000238, :before_filters_time=>3.3e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000266, :before_filters_time=>8.5e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000251, :before_filters_time=>7.6e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000274, :before_filters_time=>8.4e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000258, :before_filters_time=>7.5e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000242, :before_filters_time=>7.5e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.00039, :before_filters_time=>8.5e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000387, :before_filters_time=>7.9e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000357, :before_filters_time=>7.8e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000356, :before_filters_time=>7.8e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.001788, :before_filters_time=>7.6e-05, :after_filters_time=>8.0e-06} + ~ {:action_time=>0.000378, :before_filters_time=>8.6e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000396, :before_filters_time=>8.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000239, :before_filters_time=>7.0e-06, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000427, :before_filters_time=>7.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000255, :before_filters_time=>7.0e-06, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001162, :before_filters_time=>7.3e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000191, :before_filters_time=>5.2e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000264, :before_filters_time=>9.2e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000217, :before_filters_time=>7.5e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000252, :before_filters_time=>3.5e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000237, :before_filters_time=>3.2e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000263, :before_filters_time=>8.3e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000252, :before_filters_time=>7.6e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000259, :before_filters_time=>7.5e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000278, :before_filters_time=>8.3e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000251, :before_filters_time=>7.9e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000387, :before_filters_time=>8.3e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000391, :before_filters_time=>8.3e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000354, :before_filters_time=>7.7e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000358, :before_filters_time=>7.9e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.001771, :before_filters_time=>8.2e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.00038, :before_filters_time=>8.8e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000363, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000204, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000421, :before_filters_time=>7.0e-06, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000414, :before_filters_time=>8.0e-06, :after_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001127, :before_filters_time=>8.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000208, :before_filters_time=>6.0e-06, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000458, :before_filters_time=>6.0e-06, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000226, :before_filters_time=>7.0e-06, :after_filters_time=>5.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001103, :before_filters_time=>6.9e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.0002, :before_filters_time=>5.4e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000312, :before_filters_time=>0.000108} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000227, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000243, :before_filters_time=>3.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000237, :before_filters_time=>3.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000262, :before_filters_time=>8.2e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000258, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000265, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00025, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000399, :before_filters_time=>8.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000398, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00037, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.03156, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001901, :before_filters_time=>9.6e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000413, :before_filters_time=>9.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000376, :before_filters_time=>7.0e-06} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000206, :before_filters_time=>6.0e-06} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000418, :before_filters_time=>6.0e-06} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000249, :before_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>1.1e-05, :action_time=>0.00182, :before_filters_time=>0.000114} + ~ {:after_filters_time=>1.1e-05, :action_time=>0.000367, :before_filters_time=>0.000101} + ~ {:after_filters_time=>1.0e-05, :action_time=>0.000457, :before_filters_time=>0.000155} + ~ {:after_filters_time=>1.0e-05, :action_time=>0.000385, :before_filters_time=>0.000137} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.000313, :before_filters_time=>4.4e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000306, :before_filters_time=>4.4e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00032, :before_filters_time=>0.000102} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000295, :before_filters_time=>9.1e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000322, :before_filters_time=>9.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000334, :before_filters_time=>9.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000281, :before_filters_time=>9.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000443, :before_filters_time=>8.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000566, :before_filters_time=>0.000196} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000382, :before_filters_time=>8.4e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000364, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.002034, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00039, :before_filters_time=>9.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000376, :before_filters_time=>7.0e-06} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000238, :before_filters_time=>9.0e-06} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000411, :before_filters_time=>7.0e-06} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000243, :before_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001208, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000194, :before_filters_time=>5.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000814, :before_filters_time=>0.000614} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000229, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000505, :before_filters_time=>4.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000243, :before_filters_time=>3.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000302, :before_filters_time=>9.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000256, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000513, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000271, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00025, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000419, :before_filters_time=>9.2e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00043, :before_filters_time=>8.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000403, :before_filters_time=>9.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000371, :before_filters_time=>8.1e-05} + ~ {:after_filters_time=>1.6e-05, :action_time=>0.072975, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000607, :before_filters_time=>0.000135} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.000576, :before_filters_time=>1.1e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000305, :before_filters_time=>1.0e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000501, :before_filters_time=>8.0e-06} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000619, :before_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Compiling routes... + ~ Could not load /Users/adam/src/sandbox/chef/packages/chef-server/config/router.rb: + +undefined method `[]' for #<Merb::Router::Route:0x1806744> - (NoMethodError) + +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/dispatch/router/behavior.rb:351:in `resources' +/Users/adam/src/sandbox/chef/packages/chef-server/config/router.rb:40 +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/dispatch/router.rb:48:in `prepare' +/Users/adam/src/sandbox/chef/packages/chef-server/config/router.rb:23 +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:329:in `load' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:329:in `load_file' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:354:in `load_classes_with_requirements' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:351:in `each' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:351:in `load_classes_with_requirements' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:322:in `run' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:67:in `run' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/server.rb:43:in `start' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core.rb:36:in `start' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core.rb:47:in `start_environment' +./spec/views/nodes/../../spec_helper.rb:5 +/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require' +/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `require' +./spec/views/nodes/new.html.erb_spec.rb:1 +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:14:in `load' +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:14:in `load_files' +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:13:in `each' +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:13:in `load_files' +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/options.rb:85:in `run_examples' +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/command_line.rb:19:in `run' +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/bin/spec:4 +/usr/bin/spec:19:in `load' +/usr/bin/spec:19 + ~ Compiling routes... + ~ Compiling routes... + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>1.0e-05, :action_time=>0.001305, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000221, :before_filters_time=>6.1e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000326, :before_filters_time=>0.00011} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000229, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000274, :before_filters_time=>4.2e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000323, :before_filters_time=>4.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000316, :before_filters_time=>9.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000341, :before_filters_time=>0.0001} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000284, :before_filters_time=>8.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000294, :before_filters_time=>9.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000753, :before_filters_time=>0.00017} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000462, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000432, :before_filters_time=>0.000101} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000483, :before_filters_time=>0.000105} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001938, :before_filters_time=>0.0001} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000433, :before_filters_time=>0.000101} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.0004, :before_filters_time=>8.0e-06} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000365, :before_filters_time=>8.0e-06} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000546, :before_filters_time=>9.0e-06} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000287, :before_filters_time=>9.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001097, :before_filters_time=>7.0e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000204, :before_filters_time=>5.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000266, :before_filters_time=>9.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000218, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000239, :before_filters_time=>3.2e-05} + ~ {:after_filters_time=>1.2e-05, :action_time=>0.000255, :before_filters_time=>3.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000265, :before_filters_time=>8.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000257, :before_filters_time=>8.2e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000268, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000263, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000249, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000391, :before_filters_time=>8.5e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000422, :before_filters_time=>9.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000374, :before_filters_time=>8.3e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000359, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001793, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000381, :before_filters_time=>8.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000359, :before_filters_time=>7.0e-06} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000204, :before_filters_time=>6.0e-06} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000399, :before_filters_time=>7.0e-06} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000551, :before_filters_time=>8.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001102, :before_filters_time=>7.0e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000418, :before_filters_time=>5.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000268, :before_filters_time=>9.3e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000225, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000271, :before_filters_time=>4.1e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000282, :before_filters_time=>4.2e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000276, :before_filters_time=>8.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>8.2e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000273, :before_filters_time=>7.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000275, :before_filters_time=>9.2e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000256, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000398, :before_filters_time=>8.7e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000389, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000355, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000367, :before_filters_time=>8.8e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001736, :before_filters_time=>7.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000396, :before_filters_time=>8.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000366, :before_filters_time=>8.0e-06} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000201, :before_filters_time=>6.0e-06} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000399, :before_filters_time=>6.0e-06} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000257, :before_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001151, :before_filters_time=>8.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000204, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000501, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000238, :before_filters_time=>7.0e-06, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001319, :before_filters_time=>0.000222} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000206, :before_filters_time=>5.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000264, :before_filters_time=>9.4e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000216, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00024, :before_filters_time=>3.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000252, :before_filters_time=>3.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000278, :before_filters_time=>8.9e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000253, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.0003, :before_filters_time=>8.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000272, :before_filters_time=>8.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000254, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000412, :before_filters_time=>9.2e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000396, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000363, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000363, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.002029, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000387, :before_filters_time=>9.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000367, :before_filters_time=>7.0e-06} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000205, :before_filters_time=>6.0e-06} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000429, :before_filters_time=>7.0e-06} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000276, :before_filters_time=>8.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001101, :before_filters_time=>7.2e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000231, :before_filters_time=>6.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000265, :before_filters_time=>9.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000222, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000237, :before_filters_time=>3.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00024, :before_filters_time=>3.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>8.4e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000259, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000275, :before_filters_time=>8.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000246, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000397, :before_filters_time=>8.6e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000389, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000369, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000365, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001857, :before_filters_time=>8.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000386, :before_filters_time=>8.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000362, :before_filters_time=>6.0e-06} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000206, :before_filters_time=>7.0e-06} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000398, :before_filters_time=>6.0e-06} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000234, :before_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001179, :before_filters_time=>9.0e-06, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000203, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000437, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000225, :before_filters_time=>5.0e-06, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001648, :before_filters_time=>1.2e-05, :after_filters_time=>9.0e-06} + ~ {:action_time=>0.000277, :before_filters_time=>9.0e-06, :after_filters_time=>8.0e-06} + ~ {:action_time=>0.00053, :before_filters_time=>7.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000267, :before_filters_time=>7.0e-06, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.00124, :before_filters_time=>9.0e-06, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000254, :before_filters_time=>7.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000464, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.00023, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001139, :before_filters_time=>9.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000204, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000432, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000225, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001168, :before_filters_time=>8.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000204, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000436, :before_filters_time=>5.0e-06, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000224, :before_filters_time=>6.0e-06, :after_filters_time=>5.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001128, :before_filters_time=>9.0e-06, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000204, :before_filters_time=>6.0e-06, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000435, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000224, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001142, :before_filters_time=>8.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000213, :before_filters_time=>6.0e-06, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000446, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000223, :before_filters_time=>6.0e-06, :after_filters_time=>5.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001263, :before_filters_time=>9.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000204, :before_filters_time=>7.0e-06, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000435, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000226, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Compiling routes... + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001153, :before_filters_time=>8.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.0002, :before_filters_time=>6.0e-06, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000488, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000226, :before_filters_time=>6.0e-06, :after_filters_time=>5.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001888, :before_filters_time=>1.2e-05, :after_filters_time=>1.0e-05} + ~ {:action_time=>0.000312, :before_filters_time=>9.0e-06, :after_filters_time=>8.0e-06} + ~ {:action_time=>0.000569, :before_filters_time=>8.0e-06, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000266, :before_filters_time=>7.0e-06, :after_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001149, :before_filters_time=>9.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.0002, :before_filters_time=>6.0e-06, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000418, :before_filters_time=>6.0e-06, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000221, :before_filters_time=>6.0e-06, :after_filters_time=>5.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001207, :before_filters_time=>9.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000214, :before_filters_time=>7.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000436, :before_filters_time=>6.0e-06, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000243, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001852, :before_filters_time=>1.4e-05, :after_filters_time=>1.0e-05} + ~ {:action_time=>0.000329, :before_filters_time=>9.0e-06, :after_filters_time=>8.0e-06} + ~ {:action_time=>0.000575, :before_filters_time=>8.0e-06, :after_filters_time=>9.0e-06} + ~ {:action_time=>0.000265, :before_filters_time=>7.0e-06, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001139, :before_filters_time=>9.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000206, :before_filters_time=>6.0e-06, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000447, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000228, :before_filters_time=>5.0e-06, :after_filters_time=>5.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001234, :before_filters_time=>9.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000205, :before_filters_time=>7.0e-06, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000448, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000223, :before_filters_time=>6.0e-06, :after_filters_time=>5.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001165, :before_filters_time=>9.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000238, :before_filters_time=>8.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000436, :before_filters_time=>6.0e-06, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000241, :before_filters_time=>7.0e-06, :after_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.00187, :before_filters_time=>1.3e-05, :after_filters_time=>9.0e-06} + ~ {:action_time=>0.000304, :before_filters_time=>9.0e-06, :after_filters_time=>8.0e-06} + ~ {:action_time=>0.001064, :before_filters_time=>7.0e-06, :after_filters_time=>8.0e-06} + ~ {:action_time=>0.000271, :before_filters_time=>7.0e-06, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001311, :before_filters_time=>8.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000204, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000438, :before_filters_time=>6.0e-06, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000226, :before_filters_time=>7.0e-06, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001256, :before_filters_time=>8.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.0002, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000431, :before_filters_time=>6.0e-06, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000282, :before_filters_time=>7.0e-06, :after_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001253, :before_filters_time=>1.0e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000205, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000439, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000226, :before_filters_time=>7.0e-06, :after_filters_time=>5.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001152, :before_filters_time=>8.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000213, :before_filters_time=>7.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000432, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000222, :before_filters_time=>6.0e-06, :after_filters_time=>5.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001145, :before_filters_time=>8.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000199, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.00044, :before_filters_time=>7.0e-06, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000226, :before_filters_time=>6.0e-06, :after_filters_time=>5.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001124, :before_filters_time=>9.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000204, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000437, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000234, :before_filters_time=>6.0e-06, :after_filters_time=>5.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001134, :before_filters_time=>8.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000206, :before_filters_time=>6.0e-06, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000436, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000223, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001136, :before_filters_time=>9.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000202, :before_filters_time=>6.0e-06, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000436, :before_filters_time=>5.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000244, :before_filters_time=>6.0e-06, :after_filters_time=>5.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001182, :before_filters_time=>9.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.00021, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000449, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000231, :before_filters_time=>6.0e-06, :after_filters_time=>5.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001227, :before_filters_time=>1.1e-05, :after_filters_time=>6.0e-06} + ~ true + ~ {:action_time=>0.000262, :before_filters_time=>7.0e-06, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.00044, :before_filters_time=>6.0e-06, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000228, :before_filters_time=>7.0e-06, :after_filters_time=>5.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001142, :before_filters_time=>9.0e-06, :after_filters_time=>6.0e-06} + ~ true + ~ {:action_time=>0.000243, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000466, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000235, :before_filters_time=>6.0e-06, :after_filters_time=>5.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001141, :before_filters_time=>8.0e-06, :after_filters_time=>7.0e-06} + ~ true + ~ {:action_time=>0.00024, :before_filters_time=>6.0e-06, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000439, :before_filters_time=>6.0e-06, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000233, :before_filters_time=>7.0e-06, :after_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001112, :before_filters_time=>7.1e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000204, :before_filters_time=>5.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00028, :before_filters_time=>9.4e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000231, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000251, :before_filters_time=>3.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000235, :before_filters_time=>3.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000266, :before_filters_time=>8.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000269, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000264, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000262, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000247, :before_filters_time=>7.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000401, :before_filters_time=>8.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000397, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000365, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00036, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001948, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000396, :before_filters_time=>9.2e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000374, :before_filters_time=>7.0e-06} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000245, :before_filters_time=>7.0e-06} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000422, :before_filters_time=>6.0e-06} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000264, :before_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001107, :before_filters_time=>7.1e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000198, :before_filters_time=>5.2e-05} + ~ {:after_filters_time=>1.2e-05, :action_time=>0.000272, :before_filters_time=>9.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000223, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000238, :before_filters_time=>3.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000239, :before_filters_time=>3.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000273, :before_filters_time=>8.3e-05} + ~ {:after_filters_time=>1.1e-05, :action_time=>0.000278, :before_filters_time=>9.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000261, :before_filters_time=>7.5e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000271, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000247, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.0004, :before_filters_time=>8.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000394, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000395, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000364, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001923, :before_filters_time=>7.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000382, :before_filters_time=>8.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000367, :before_filters_time=>7.0e-06} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000245, :before_filters_time=>6.0e-06} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000407, :before_filters_time=>6.0e-06} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000254, :before_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.0012, :before_filters_time=>8.3e-05, :after_filters_time=>6.0e-06} + ~ true + ~ {:action_time=>0.000255, :before_filters_time=>7.4e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000446, :before_filters_time=>9.1e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000245, :before_filters_time=>7.6e-05, :after_filters_time=>5.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001112, :before_filters_time=>7.1e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000231, :before_filters_time=>6.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000268, :before_filters_time=>9.1e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000267, :before_filters_time=>9.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000237, :before_filters_time=>3.3e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000232, :before_filters_time=>3.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000266, :before_filters_time=>8.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>9.0e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000281, :before_filters_time=>8.2e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000265, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000247, :before_filters_time=>7.5e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000393, :before_filters_time=>8.4e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000395, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000355, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000365, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>1.4e-05, :action_time=>0.001728, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000386, :before_filters_time=>8.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00038, :before_filters_time=>5.6e-05} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000314, :before_filters_time=>0.000104} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000427, :before_filters_time=>9.2e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000272, :before_filters_time=>8.3e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001163, :before_filters_time=>7.2e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000207, :before_filters_time=>5.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>9.2e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000222, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000244, :before_filters_time=>3.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000241, :before_filters_time=>3.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000279, :before_filters_time=>8.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00025, :before_filters_time=>7.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000274, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000266, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000247, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000399, :before_filters_time=>8.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000404, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000373, :before_filters_time=>8.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000363, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00177, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000386, :before_filters_time=>8.7e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000399, :before_filters_time=>6.0e-05} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000261, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000419, :before_filters_time=>9.2e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.0003, :before_filters_time=>9.1e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001616, :before_filters_time=>9.7e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000264, :before_filters_time=>7.1e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000345, :before_filters_time=>0.000118} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000303, :before_filters_time=>0.000104} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000285, :before_filters_time=>3.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000279, :before_filters_time=>3.8e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000278, :before_filters_time=>8.8e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000248, :before_filters_time=>7.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000263, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000269, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000249, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000386, :before_filters_time=>8.2e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000429, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000359, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000364, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001743, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000386, :before_filters_time=>8.7e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000386, :before_filters_time=>5.9e-05} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000258, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00042, :before_filters_time=>9.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000254, :before_filters_time=>7.8e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001153, :before_filters_time=>7.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000205, :before_filters_time=>5.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000283, :before_filters_time=>9.6e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000222, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00025, :before_filters_time=>3.3e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000232, :before_filters_time=>3.2e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000266, :before_filters_time=>8.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00026, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000262, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000257, :before_filters_time=>7.5e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000249, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000404, :before_filters_time=>9.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000392, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00036, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00037, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001815, :before_filters_time=>8.3e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00038, :before_filters_time=>8.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000388, :before_filters_time=>5.8e-05} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00026, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000416, :before_filters_time=>9.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000443, :before_filters_time=>9.2e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001126, :before_filters_time=>7.1e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000208, :before_filters_time=>5.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000269, :before_filters_time=>9.2e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00022, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000239, :before_filters_time=>3.2e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000237, :before_filters_time=>3.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000269, :before_filters_time=>8.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000253, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000268, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000262, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00025, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000418, :before_filters_time=>9.3e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000413, :before_filters_time=>8.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000363, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000418, :before_filters_time=>9.2e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00179, :before_filters_time=>9.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000392, :before_filters_time=>9.1e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000391, :before_filters_time=>5.9e-05} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000266, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000445, :before_filters_time=>0.0001} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000255, :before_filters_time=>8.0e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001111, :before_filters_time=>7.1e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000191, :before_filters_time=>5.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000426, :before_filters_time=>0.000111} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000245, :before_filters_time=>8.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000241, :before_filters_time=>3.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000233, :before_filters_time=>3.2e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000267, :before_filters_time=>8.4e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000255, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000301, :before_filters_time=>8.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000263, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000267, :before_filters_time=>9.2e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000392, :before_filters_time=>8.4e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000397, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000366, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000362, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001882, :before_filters_time=>8.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000393, :before_filters_time=>9.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000404, :before_filters_time=>5.7e-05} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000257, :before_filters_time=>7.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000423, :before_filters_time=>9.3e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000834, :before_filters_time=>0.00015} + ~ Compiling routes... + ~ Compiling routes... + ~ Could not load /Users/adam/src/sandbox/chef/packages/chef-server/app/controllers/nodes.rb: + +undefined method `before_filter' for Nodes:Class - (NoMethodError) + +/Users/adam/src/sandbox/chef/packages/chef-server/app/controllers/nodes.rb:12 +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:329:in `load' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:329:in `load_file' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:354:in `load_classes_with_requirements' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:351:in `each' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:351:in `load_classes_with_requirements' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:322:in `run' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:67:in `run' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/server.rb:43:in `start' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core.rb:36:in `start' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core.rb:47:in `start_environment' +./spec/controllers/../spec_helper.rb:5 +/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require' +/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `require' +./spec/controllers/nodes_spec.rb:1 +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:14:in `load' +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:14:in `load_files' +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:13:in `each' +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:13:in `load_files' +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/options.rb:85:in `run_examples' +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/command_line.rb:19:in `run' +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/bin/spec:4 +/usr/bin/spec:19:in `load' +/usr/bin/spec:19 + ~ Compiling routes... + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001106, :before_filters_time=>7.0e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000203, :before_filters_time=>5.8e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000265, :before_filters_time=>9.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000214, :before_filters_time=>7.7e-05} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000356, :before_filters_time=>0.0001} + ~ Redirecting to: openid_consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000319, :before_filters_time=>8.7e-05} + ~ Redirecting to: openid_consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000343, :before_filters_time=>0.000139} + ~ Redirecting to: openid_consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000323, :before_filters_time=>0.000123} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000463, :before_filters_time=>0.000128} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000387, :before_filters_time=>0.00015} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000322, :before_filters_time=>0.000127} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000408, :before_filters_time=>9.3e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000394, :before_filters_time=>8.1e-05} + ~ {:after_filters_time=>1.0e-05, :action_time=>0.00048, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000368, :before_filters_time=>8.4e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001806, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000373, :before_filters_time=>8.6e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001215, :before_filters_time=>8.1e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00021, :before_filters_time=>6.1e-05} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000423, :before_filters_time=>0.000175} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000315, :before_filters_time=>0.000136} + ~ Redirecting to: openid_consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000376, :before_filters_time=>0.000112} + ~ Redirecting to: openid_consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00039, :before_filters_time=>0.000113} + ~ Redirecting to: openid_consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000403, :before_filters_time=>0.000162} + ~ Redirecting to: openid_consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000379, :before_filters_time=>0.000142} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.0004, :before_filters_time=>0.00015} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000378, :before_filters_time=>0.00014} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000404, :before_filters_time=>0.000162} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000494, :before_filters_time=>0.000108} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000432, :before_filters_time=>9.1e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000537, :before_filters_time=>9.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000391, :before_filters_time=>8.9e-05} + ~ {:after_filters_time=>1.3e-05, :action_time=>0.004359, :before_filters_time=>0.000202} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000425, :before_filters_time=>0.000102} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001109, :before_filters_time=>7.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000214, :before_filters_time=>6.0e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000292, :before_filters_time=>0.000102} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000226, :before_filters_time=>7.8e-05} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000333, :before_filters_time=>9.0e-05} + ~ Redirecting to: openid_consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000361, :before_filters_time=>8.6e-05} + ~ Redirecting to: openid_consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000404, :before_filters_time=>0.000169} + ~ Redirecting to: openid_consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000333, :before_filters_time=>0.000131} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000349, :before_filters_time=>0.000126} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00037, :before_filters_time=>0.000142} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000368, :before_filters_time=>0.000146} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000457, :before_filters_time=>0.000116} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.0004, :before_filters_time=>8.1e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000366, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000358, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001857, :before_filters_time=>8.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00041, :before_filters_time=>9.4e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001676, :before_filters_time=>0.000101} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000296, :before_filters_time=>9.6e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000348, :before_filters_time=>0.000122} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000287, :before_filters_time=>0.000102} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000358, :before_filters_time=>9.9e-05} + ~ Redirecting to: openid_consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000309, :before_filters_time=>8.2e-05} + ~ Redirecting to: openid_consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000792, :before_filters_time=>0.000566} + ~ Redirecting to: openid_consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000326, :before_filters_time=>0.000125} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000336, :before_filters_time=>0.000123} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000332, :before_filters_time=>0.000122} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000316, :before_filters_time=>0.000124} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000477, :before_filters_time=>0.000137} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000464, :before_filters_time=>0.000127} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000424, :before_filters_time=>0.000123} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000431, :before_filters_time=>0.000126} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001849, :before_filters_time=>0.000121} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000457, :before_filters_time=>0.000139} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001103, :before_filters_time=>7.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000209, :before_filters_time=>5.4e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000294, :before_filters_time=>0.000101} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000217, :before_filters_time=>7.7e-05} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000333, :before_filters_time=>9.0e-05} + ~ Redirecting to: openid_consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000337, :before_filters_time=>9.4e-05} + ~ Redirecting to: openid_consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00034, :before_filters_time=>0.000134} + ~ Redirecting to: openid_consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000352, :before_filters_time=>0.000151} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000369, :before_filters_time=>0.000139} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000418, :before_filters_time=>0.000161} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000384, :before_filters_time=>0.000151} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000518, :before_filters_time=>0.000114} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000458, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000402, :before_filters_time=>9.1e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000366, :before_filters_time=>8.2e-05} + ~ {:after_filters_time=>1.7e-05, :action_time=>0.07075, :before_filters_time=>8.5e-05} + ~ {:after_filters_time=>1.0e-05, :action_time=>0.000667, :before_filters_time=>0.000152} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001099, :before_filters_time=>7.3e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00021, :before_filters_time=>5.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000266, :before_filters_time=>9.2e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000218, :before_filters_time=>7.8e-05} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00033, :before_filters_time=>8.7e-05} + ~ Redirecting to: openid_consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00031, :before_filters_time=>8.2e-05} + ~ Redirecting to: openid_consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000347, :before_filters_time=>0.000137} + ~ Redirecting to: openid_consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000322, :before_filters_time=>0.000123} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000336, :before_filters_time=>0.000124} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000338, :before_filters_time=>0.000124} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000319, :before_filters_time=>0.000125} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000471, :before_filters_time=>0.000138} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000466, :before_filters_time=>0.000129} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000428, :before_filters_time=>0.000124} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000444, :before_filters_time=>0.000128} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>1.8e-05, :action_time=>0.080605, :before_filters_time=>0.000121} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.00077, :before_filters_time=>0.000238} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001195, :before_filters_time=>8.1e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000208, :before_filters_time=>6.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00027, :before_filters_time=>9.4e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000231, :before_filters_time=>8.4e-05} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00034, :before_filters_time=>9.1e-05} + ~ Redirecting to: openid_consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000317, :before_filters_time=>8.5e-05} + ~ Redirecting to: openid_consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000345, :before_filters_time=>0.000136} + ~ Redirecting to: openid_consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000322, :before_filters_time=>0.000124} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000331, :before_filters_time=>0.000123} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000337, :before_filters_time=>0.000123} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000317, :before_filters_time=>0.000125} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000556, :before_filters_time=>0.000161} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000469, :before_filters_time=>0.00013} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000434, :before_filters_time=>0.000129} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000513, :before_filters_time=>0.000179} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001995, :before_filters_time=>0.000159} + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000525, :before_filters_time=>0.00017} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000397, :before_filters_time=>5.9e-05} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000257, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000465, :before_filters_time=>0.000132} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00026, :before_filters_time=>8.0e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001114, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000193, :before_filters_time=>5.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000263, :before_filters_time=>9.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00022, :before_filters_time=>7.9e-05} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000358, :before_filters_time=>0.000113} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000358, :before_filters_time=>0.000118} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000372, :before_filters_time=>0.000162} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000349, :before_filters_time=>0.000148} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000435, :before_filters_time=>0.000148} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000393, :before_filters_time=>0.000155} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000343, :before_filters_time=>0.000148} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000789, :before_filters_time=>0.00039} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000507, :before_filters_time=>0.000162} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00047, :before_filters_time=>0.000154} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000469, :before_filters_time=>0.000156} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>2.2e-05, :action_time=>0.084763, :before_filters_time=>0.000165} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.000841, :before_filters_time=>0.000286} + ~ {:after_filters_time=>1.0e-05, :action_time=>0.000681, :before_filters_time=>0.000113} + ~ true + ~ {:after_filters_time=>1.1e-05, :action_time=>0.001291, :before_filters_time=>0.000148} + ~ {:after_filters_time=>1.0e-05, :action_time=>0.00069, :before_filters_time=>0.000161} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000332, :before_filters_time=>0.000106} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001121, :before_filters_time=>7.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000205, :before_filters_time=>5.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00029, :before_filters_time=>0.000103} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00024, :before_filters_time=>8.5e-05} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000369, :before_filters_time=>0.000117} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000347, :before_filters_time=>0.000113} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000371, :before_filters_time=>0.00016} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000351, :before_filters_time=>0.000148} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000361, :before_filters_time=>0.000147} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000366, :before_filters_time=>0.000151} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000342, :before_filters_time=>0.000146} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000514, :before_filters_time=>0.000172} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000508, :before_filters_time=>0.000162} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000464, :before_filters_time=>0.000156} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000461, :before_filters_time=>0.000153} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001874, :before_filters_time=>0.000151} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000516, :before_filters_time=>0.000173} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000395, :before_filters_time=>6.0e-05} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000436, :before_filters_time=>9.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000259, :before_filters_time=>8.2e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001147, :before_filters_time=>7.4e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000211, :before_filters_time=>5.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000268, :before_filters_time=>9.4e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00022, :before_filters_time=>7.8e-05} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00037, :before_filters_time=>0.000114} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000379, :before_filters_time=>0.000145} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00041, :before_filters_time=>0.000195} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000357, :before_filters_time=>0.00015} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000358, :before_filters_time=>0.000146} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000355, :before_filters_time=>0.000146} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00034, :before_filters_time=>0.000145} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000497, :before_filters_time=>0.000163} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000491, :before_filters_time=>0.000151} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000477, :before_filters_time=>0.000159} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000458, :before_filters_time=>0.000149} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001916, :before_filters_time=>0.000157} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000504, :before_filters_time=>0.000167} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000395, :before_filters_time=>6.1e-05} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000256, :before_filters_time=>7.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00042, :before_filters_time=>9.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000298, :before_filters_time=>9.4e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001153, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000208, :before_filters_time=>6.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000315, :before_filters_time=>0.000109} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000229, :before_filters_time=>8.1e-05} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000379, :before_filters_time=>0.000119} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000366, :before_filters_time=>0.000122} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000373, :before_filters_time=>0.000165} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000347, :before_filters_time=>0.000148} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000356, :before_filters_time=>0.000146} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>1.1e-05, :action_time=>0.000992, :before_filters_time=>0.000294} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.000597, :before_filters_time=>0.000255} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.000831, :before_filters_time=>0.000296} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000712, :before_filters_time=>0.000227} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000655, :before_filters_time=>0.000216} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000553, :before_filters_time=>0.000185} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.002145, :before_filters_time=>0.000177} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00059, :before_filters_time=>0.000201} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000459, :before_filters_time=>7.1e-05} + ~ true + ~ {:after_filters_time=>8.0e-06, :action_time=>0.0003, :before_filters_time=>8.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000414, :before_filters_time=>9.2e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000252, :before_filters_time=>8.1e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001128, :before_filters_time=>7.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000208, :before_filters_time=>5.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00027, :before_filters_time=>9.4e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000231, :before_filters_time=>7.9e-05} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000312} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000283} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000268} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000257} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000303} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000283} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000304} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000328} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000294} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000303} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00032} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000377} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000305} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000289} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000283} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000337} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000425, :before_filters_time=>6.6e-05} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00046, :before_filters_time=>9.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000254, :before_filters_time=>7.9e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001158, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000229, :before_filters_time=>6.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000361, :before_filters_time=>0.000101} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000226, :before_filters_time=>8.0e-05} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000295} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000281} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000272} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00026} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000364} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000301} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000282} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000294} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000332} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000314} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000367} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000294} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000295} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000282} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000307} + ~ You are being redirected to the openid consumer + ~ Redirecting to: openid_consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000298} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000394, :before_filters_time=>5.7e-05} + ~ true + ~ {:after_filters_time=>2.9e-05, :action_time=>0.000475, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000457, :before_filters_time=>9.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000252, :before_filters_time=>7.8e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001116, :before_filters_time=>7.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000207, :before_filters_time=>5.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000268, :before_filters_time=>9.6e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00022, :before_filters_time=>7.9e-05} + ~ You are being redirected to the openid consumer + ~ You are being redirected to the openid consumer + ~ You are being redirected to the openid consumer + ~ You are being redirected to the openid consumer + ~ You are being redirected to the openid consumer + ~ You are being redirected to the openid consumer + ~ You are being redirected to the openid consumer + ~ You are being redirected to the openid consumer + ~ You are being redirected to the openid consumer + ~ You are being redirected to the openid consumer + ~ You are being redirected to the openid consumer + ~ You are being redirected to the openid consumer + ~ You are being redirected to the openid consumer + ~ You are being redirected to the openid consumer + ~ You are being redirected to the openid consumer + ~ You are being redirected to the openid consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000402, :before_filters_time=>6.3e-05} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000376, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000467, :before_filters_time=>9.2e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00025, :before_filters_time=>8.0e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001772, :before_filters_time=>0.000116} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000291, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000363, :before_filters_time=>0.000124} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000294, :before_filters_time=>0.000103} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000789} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000648} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000762} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000668} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000866} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000828} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000724} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000679} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00074} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001011} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00079} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001004} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.1e-05, :action_time=>0.000777} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00072} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000681} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00072} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.032602, :before_filters_time=>0.032138} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000369, :before_filters_time=>9.0e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000488, :before_filters_time=>9.7e-05} + ~ {:after_filters_time=>0.000226, :action_time=>0.000494, :before_filters_time=>8.2e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001214, :before_filters_time=>8.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000209, :before_filters_time=>5.9e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000306, :before_filters_time=>0.000104} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000225, :before_filters_time=>8.1e-05} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000744} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000641} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000696} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000662} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000743} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000696} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000669} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000662} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000712} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000682} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000711} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000874} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000687} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000675} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00066} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000737} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001184, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000197, :before_filters_time=>5.6e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000563, :before_filters_time=>0.000101} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000237, :before_filters_time=>8.6e-05} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000746} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000756} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000692} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.5e-05, :action_time=>0.004169} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001291} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001021} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00085} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000705} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00069} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000658} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000788} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001247} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000682} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000686} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000698} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000942} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001547, :before_filters_time=>0.000142} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000206, :before_filters_time=>5.9e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000325, :before_filters_time=>0.000114} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000262, :before_filters_time=>9.3e-05} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000822} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000712} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000736} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000695} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000754} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000749} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000704} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000696} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000725} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000673} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000734} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000714} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000739} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000743} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000685} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000754} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001141, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000205, :before_filters_time=>5.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000277, :before_filters_time=>9.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000219, :before_filters_time=>7.8e-05} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00074} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000648} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000705} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000666} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000744} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000667} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000656} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000666} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000671} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000746} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000732} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000674} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000818} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000688} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000676} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000699} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000504, :before_filters_time=>7.9e-05} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000302, :before_filters_time=>8.7e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000523, :before_filters_time=>9.9e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00025, :before_filters_time=>7.9e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001147, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000204, :before_filters_time=>5.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00027, :before_filters_time=>9.5e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000228, :before_filters_time=>7.9e-05} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000797} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000877} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000772} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000697} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.002526} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000707} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000678} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000667} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000662} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000844} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000789} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000685} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000899} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000706} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000704} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000694} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.007579, :before_filters_time=>7.9e-05} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000287, :before_filters_time=>8.2e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.00049, :before_filters_time=>0.000101} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000276, :before_filters_time=>8.3e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001427, :before_filters_time=>8.5e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000306, :before_filters_time=>9.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000328, :before_filters_time=>0.000116} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000263, :before_filters_time=>9.5e-05} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.00086} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000682} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000673} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000673} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000741} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000705} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000775} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000732} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000673} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00069} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000794} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000742} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.0007} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00069} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000785} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000733} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000434, :before_filters_time=>7.0e-05} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000277, :before_filters_time=>8.9e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000499, :before_filters_time=>9.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000251, :before_filters_time=>8.0e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001938, :before_filters_time=>9.6e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000262, :before_filters_time=>7.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000288, :before_filters_time=>0.000101} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000226, :before_filters_time=>8.3e-05} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001071} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000668} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000667} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00064} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000751} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000679} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000662} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000682} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000665} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000665} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000709} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000664} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00066} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000674} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00068} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000685} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001268, :before_filters_time=>8.1e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000348, :before_filters_time=>0.000128} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00028, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00022, :before_filters_time=>8.0e-05} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000784} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000692} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000755} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00067} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000783} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000725} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000668} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000689} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000695} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00073} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000879} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001551} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000813} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000688} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000694} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00089} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00112, :before_filters_time=>7.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000206, :before_filters_time=>5.7e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000265, :before_filters_time=>9.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000222, :before_filters_time=>7.8e-05} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000768} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000682} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000665} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000688} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000707} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000687} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000671} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000679} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000673} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000669} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000717} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000655} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000695} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000757} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000695} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000668} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001123, :before_filters_time=>7.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00021, :before_filters_time=>6.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000312, :before_filters_time=>0.000109} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000225, :before_filters_time=>8.2e-05} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000765} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000638} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000698} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000657} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000707} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000689} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000661} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000673} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000679} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>4.8e-05, :action_time=>0.000699} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000733} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000673} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000707} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000673} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00068} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000672} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001144, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000198, :before_filters_time=>5.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00029, :before_filters_time=>0.000102} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00022, :before_filters_time=>8.0e-05} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000766} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000946} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000701} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000735} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000821} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.0007} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001359} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000722} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000751} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001301} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000746} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00102} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000752} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000798} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000718} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000709} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001103, :before_filters_time=>7.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000213, :before_filters_time=>6.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000266, :before_filters_time=>9.4e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000216, :before_filters_time=>7.8e-05} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000736} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000643} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000781} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000751} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000736} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000672} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00066} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000665} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000657} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000648} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000407, :before_filters_time=>9.3e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000407, :before_filters_time=>8.2e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000365, :before_filters_time=>8.2e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00036, :before_filters_time=>8.1e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001719, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000393, :before_filters_time=>9.0e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001789, :before_filters_time=>0.00012} + ~ {:after_filters_time=>1.0e-05, :action_time=>0.000412, :before_filters_time=>0.000103} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.000443, :before_filters_time=>0.000156} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.000371, :before_filters_time=>0.000132} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.001072} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000842} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000697} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000659} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000739} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000688} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000665} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000663} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000674} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000659} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000423, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000386, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000378, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000359, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001821, :before_filters_time=>8.9e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000396, :before_filters_time=>9.2e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001107, :before_filters_time=>7.3e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000204, :before_filters_time=>5.7e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000266, :before_filters_time=>9.4e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00022, :before_filters_time=>7.9e-05} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000739} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000645} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000664} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000764} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000737} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000681} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000707} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000678} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00071} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000667} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000408, :before_filters_time=>9.3e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000388, :before_filters_time=>8.1e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00038, :before_filters_time=>8.6e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000363, :before_filters_time=>8.2e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001916, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00039, :before_filters_time=>9.3e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001105, :before_filters_time=>7.2e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000203, :before_filters_time=>5.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000263, :before_filters_time=>9.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000218, :before_filters_time=>7.8e-05} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000744} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000638} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000665} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000651} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000716} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000683} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000674} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000758} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000666} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00066} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000416, :before_filters_time=>9.2e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00039, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000363, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000358, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001787, :before_filters_time=>8.2e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000388, :before_filters_time=>9.2e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001197, :before_filters_time=>7.5e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000204, :before_filters_time=>5.7e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000266, :before_filters_time=>9.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00022, :before_filters_time=>7.9e-05} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000757} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00064} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000661} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000666} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000801} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.00074} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000714} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000673} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00069} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000663} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000478, :before_filters_time=>0.000151} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000395, :before_filters_time=>8.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000363, :before_filters_time=>8.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000365, :before_filters_time=>8.1e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001926, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000398, :before_filters_time=>9.3e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001148, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000212, :before_filters_time=>5.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000292, :before_filters_time=>0.000101} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000431, :before_filters_time=>9.5e-05} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000836} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000735} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000756} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>2.8e-05, :action_time=>0.073159} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.001257} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.001171} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001093} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000982} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000883} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000786} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000416, :before_filters_time=>9.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000396, :before_filters_time=>8.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000364, :before_filters_time=>8.1e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000367, :before_filters_time=>8.4e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.002087, :before_filters_time=>8.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000416, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.0004, :before_filters_time=>6.1e-05} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000265, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000433, :before_filters_time=>9.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000248, :before_filters_time=>7.6e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001117, :before_filters_time=>7.5e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000196, :before_filters_time=>5.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000275, :before_filters_time=>9.6e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000215, :before_filters_time=>7.8e-05} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00074} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000636} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000665} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000659} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.0007} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000654} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000683} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000659} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000753} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000664} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000411, :before_filters_time=>9.2e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000405, :before_filters_time=>8.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000364, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000361, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.002032, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000409, :before_filters_time=>9.6e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000397, :before_filters_time=>6.2e-05} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000438, :before_filters_time=>9.6e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00024, :before_filters_time=>7.5e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001137, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000212, :before_filters_time=>6.2e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>9.4e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000267, :before_filters_time=>0.00012} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000748} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000647} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000783} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000668} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000731} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000728} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000661} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00077} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000663} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00067} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000405, :before_filters_time=>9.1e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000476, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000379, :before_filters_time=>8.8e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000379, :before_filters_time=>8.6e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001905, :before_filters_time=>0.000103} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00041, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000405, :before_filters_time=>6.3e-05} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000295, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000431, :before_filters_time=>9.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000251, :before_filters_time=>7.7e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001314, :before_filters_time=>8.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000254, :before_filters_time=>6.7e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000337, :before_filters_time=>0.000117} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000297, :before_filters_time=>0.000104} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.001725} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000832} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000812} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000738} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00109} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001287} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000759} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.000944} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000795} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000796} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001079, :before_filters_time=>0.00012} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000476, :before_filters_time=>0.00011} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000832, :before_filters_time=>0.000486} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000701, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>1.0e-05, :action_time=>0.002552, :before_filters_time=>9.6e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000855, :before_filters_time=>0.000107} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001148, :before_filters_time=>7.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000208, :before_filters_time=>6.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000272, :before_filters_time=>9.7e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00022, :before_filters_time=>7.9e-05} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000748} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000647} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000671} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000644} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000763} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000675} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00067} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00075} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000684} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000677} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000787} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000781} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000703} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000662} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000669} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000664} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001514, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000198, :before_filters_time=>5.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000272, :before_filters_time=>9.7e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000219, :before_filters_time=>7.7e-05} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.002057} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000685} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001017} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000989} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000811} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000745} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.4e-05, :action_time=>0.00096} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000723} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000759} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000685} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000759} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000737} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00072} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001225} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00076} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001131, :before_filters_time=>7.4e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000731, :before_filters_time=>0.000121} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000285, :before_filters_time=>0.0001} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000272, :before_filters_time=>0.00012} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000823} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000749} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.007818} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001098} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000812} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000695} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001006} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000797} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000744} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001018} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000859} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000928} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000728} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000813} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00069} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000737} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>1.3e-05, :action_time=>0.008707, :before_filters_time=>0.000141} + ~ {:after_filters_time=>1.0e-05, :action_time=>0.000367, :before_filters_time=>0.000103} + ~ {:after_filters_time=>1.0e-05, :action_time=>0.000457, :before_filters_time=>0.000158} + ~ {:after_filters_time=>1.1e-05, :action_time=>0.000375, :before_filters_time=>0.000132} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.001309} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.001136} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.1e-05, :action_time=>0.001236} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.1e-05, :action_time=>0.001166} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.1e-05, :action_time=>0.001382} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.1e-05, :action_time=>0.001309} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.1e-05, :action_time=>0.001238} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.001136} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.3e-05, :action_time=>0.001798} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001307} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.001286} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.00099} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000673} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001065} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000684} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.0008} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00117, :before_filters_time=>7.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000234, :before_filters_time=>6.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000339, :before_filters_time=>0.000153} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00023, :before_filters_time=>8.0e-05} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001006} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000724} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000753} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000645} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000719} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000667} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000688} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000718} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000664} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000655} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000718} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000679} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000678} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000656} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000666} + ~ You are being redirected to the openid consumer + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000774} + ~ Compiling routes... + ~ Compiling routes... + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001455, :before_filters_time=>7.7e-05, :after_filters_time=>6.0e-06} + ~ true + ~ {:action_time=>0.000278, :before_filters_time=>7.7e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000464, :before_filters_time=>9.1e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.0003, :before_filters_time=>8.2e-05, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Compiling routes... + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001145, :before_filters_time=>7.3e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000197, :before_filters_time=>5.4e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000271, :before_filters_time=>9.4e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000219, :before_filters_time=>7.8e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000735} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000719} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000654} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000721} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000815} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.002939} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000798} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.1e-05, :action_time=>0.002232} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001236} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000714} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.000948} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000771} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000721} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000669} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000985} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000691} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000389, :before_filters_time=>6.0e-05} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000271, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000597, :before_filters_time=>0.000102} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000302, :before_filters_time=>9.0e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001105, :before_filters_time=>7.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000207, :before_filters_time=>5.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000275, :before_filters_time=>9.7e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000269, :before_filters_time=>0.000107} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000816} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000629} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000657} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000648} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000876} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000697} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000708} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000666} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000646} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000745} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001006} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.1e-05, :action_time=>0.001523} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000846} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001189} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000709} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001232} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001323, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000302, :before_filters_time=>6.9e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000271, :before_filters_time=>9.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00022, :before_filters_time=>7.8e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000752} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.000834} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000782} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000704} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.000974} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001099} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000926} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000662} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000793} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000642} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000629, :before_filters_time=>0.000156} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000759, :before_filters_time=>0.000205} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000501, :before_filters_time=>0.000103} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000452, :before_filters_time=>0.000142} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.002457, :before_filters_time=>8.3e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00053, :before_filters_time=>0.000126} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001232, :before_filters_time=>7.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000227, :before_filters_time=>5.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000285, :before_filters_time=>9.7e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00022, :before_filters_time=>7.9e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000918} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000774} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.00138} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001348} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.000897} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000751} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000652} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000644} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000841} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000901} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000512, :before_filters_time=>0.000109} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00042, :before_filters_time=>9.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000373, :before_filters_time=>8.1e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000363, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.002135, :before_filters_time=>8.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000435, :before_filters_time=>0.000102} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001159, :before_filters_time=>8.4e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000245, :before_filters_time=>6.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000288, :before_filters_time=>0.0001} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000225, :before_filters_time=>8.1e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000795} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00076} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.00481} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000865} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000771} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000951} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000762} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000906} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000687} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000671} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000449, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000548, :before_filters_time=>0.000117} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000432, :before_filters_time=>9.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00046, :before_filters_time=>9.3e-05} + ~ {:after_filters_time=>1.6e-05, :action_time=>0.0019, :before_filters_time=>8.4e-05} + ~ {:after_filters_time=>4.4e-05, :action_time=>0.000533, :before_filters_time=>0.000101} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000404, :before_filters_time=>6.0e-05} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000328, :before_filters_time=>8.3e-05} + ~ {:after_filters_time=>1.1e-05, :action_time=>0.00126, :before_filters_time=>0.000102} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000303, :before_filters_time=>9.2e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>8.9e-05, :after_filters_time=>6.0e-06, :action_time=>0.001389} + ~ {:before_filters_time=>6.7e-05, :after_filters_time=>6.0e-06, :action_time=>0.000239} + ~ {:before_filters_time=>0.000317, :after_filters_time=>6.0e-06, :action_time=>0.00059} + ~ {:before_filters_time=>0.000102, :after_filters_time=>5.0e-06, :action_time=>0.000273} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.002058} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000718} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000856} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000945} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.012452} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00734} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000819} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.001478} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.003535} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001087} + ~ {:before_filters_time=>0.000131, :after_filters_time=>8.0e-06, :action_time=>0.002103} + ~ {:before_filters_time=>9.5e-05, :after_filters_time=>9.0e-06, :action_time=>0.037949} + ~ {:before_filters_time=>0.000144, :after_filters_time=>5.0e-06, :action_time=>0.0005} + ~ {:before_filters_time=>9.4e-05, :after_filters_time=>5.0e-06, :action_time=>0.000396} + ~ {:before_filters_time=>8.1e-05, :after_filters_time=>1.0e-05, :action_time=>0.051035} + ~ {:before_filters_time=>0.000206, :after_filters_time=>2.5e-05, :action_time=>0.000652} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.002882, :before_filters_time=>9.5e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000256, :before_filters_time=>7.0e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00028, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000239, :before_filters_time=>8.5e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.001615} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001853} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001119} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.00149} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.1e-05, :action_time=>0.01217} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000864} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001469} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000895} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000723} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000956} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000448, :before_filters_time=>0.000104} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000515, :before_filters_time=>0.000109} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000708, :before_filters_time=>0.000111} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000422, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>1.1e-05, :action_time=>0.002743, :before_filters_time=>9.9e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000434, :before_filters_time=>0.000104} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000762, :before_filters_time=>6.9e-05} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000286, :before_filters_time=>8.3e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000511, :before_filters_time=>0.000118} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000282, :before_filters_time=>8.6e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00114, :before_filters_time=>7.5e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000222, :before_filters_time=>6.2e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000289, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000227, :before_filters_time=>8.1e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000758} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000605} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.0009} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000716} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000752} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001135} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000647} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000648} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000678} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000821} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000461, :before_filters_time=>0.000108} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.00065, :before_filters_time=>9.4e-05} + ~ {:after_filters_time=>1.0e-05, :action_time=>0.000932, :before_filters_time=>0.000112} + ~ {:after_filters_time=>1.1e-05, :action_time=>0.007569, :before_filters_time=>0.007111} + ~ {:after_filters_time=>1.3e-05, :action_time=>0.002255, :before_filters_time=>0.000108} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.000448, :before_filters_time=>0.000107} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.002182, :before_filters_time=>8.3e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000189, :before_filters_time=>5.4e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000284, :before_filters_time=>9.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000275, :before_filters_time=>0.000126} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00078} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000804} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000877} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000613} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000734} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000829} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000652} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001756} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000728} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000671} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000705} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000734} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000776} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>0.001574, :action_time=>0.003794} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001035} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000763} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001183, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000208, :before_filters_time=>5.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000268, :before_filters_time=>9.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000235, :before_filters_time=>8.5e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000804} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.000883} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.2e-05, :action_time=>0.003038} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000697} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000912} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001034} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000698} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000733} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000656} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000642} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000463, :before_filters_time=>0.000114} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00048, :before_filters_time=>0.000102} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000398, :before_filters_time=>8.9e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000426, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>1.2e-05, :action_time=>0.002026, :before_filters_time=>0.00011} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000414, :before_filters_time=>9.9e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001245, :before_filters_time=>8.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000217, :before_filters_time=>6.2e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00029, :before_filters_time=>0.000107} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000348, :before_filters_time=>0.000189} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.001295} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000727} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>0.000278, :action_time=>0.004135} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000763} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000848} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000779} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000763} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.000799} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.002428} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001141} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000465, :before_filters_time=>0.000114} + ~ {:after_filters_time=>7.5e-05, :action_time=>0.001143, :before_filters_time=>0.000183} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.002032, :before_filters_time=>0.001115} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000451, :before_filters_time=>0.00011} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001857, :before_filters_time=>8.9e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000504, :before_filters_time=>0.000157} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001176, :before_filters_time=>7.5e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000232, :before_filters_time=>6.5e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00037, :before_filters_time=>0.000156} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000223, :before_filters_time=>8.0e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001062} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00074} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000695} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000727} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000702} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00064} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00073} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000632} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000684} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000632} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000408, :before_filters_time=>9.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000417, :before_filters_time=>8.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000435, :before_filters_time=>0.000133} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00046, :before_filters_time=>0.0001} + ~ {:after_filters_time=>6.9e-05, :action_time=>0.004413, :before_filters_time=>0.000114} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.000675, :before_filters_time=>0.000105} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001397, :before_filters_time=>9.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000785, :before_filters_time=>8.2e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000275, :before_filters_time=>9.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000272, :before_filters_time=>8.3e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000813} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000611} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000702} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000614} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000669} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00072} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000775} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000754} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000639} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000682} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00048, :before_filters_time=>0.000101} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.00051, :before_filters_time=>0.00011} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000436, :before_filters_time=>0.000102} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000404, :before_filters_time=>9.4e-05} + ~ {:after_filters_time=>1.1e-05, :action_time=>0.002364, :before_filters_time=>9.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000492, :before_filters_time=>0.000113} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001068, :before_filters_time=>0.000189} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00167, :before_filters_time=>9.2e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000459, :before_filters_time=>0.00011} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000258, :before_filters_time=>8.0e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001127, :before_filters_time=>7.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000196, :before_filters_time=>5.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000286, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000291, :before_filters_time=>0.000103} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000736} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000911} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000734} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00079} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000705} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000758} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000696} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.00077} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000771} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001106} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000529, :before_filters_time=>0.000121} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000511, :before_filters_time=>0.000108} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000405, :before_filters_time=>9.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000386, :before_filters_time=>8.9e-05} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.002839, :before_filters_time=>0.000168} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000624, :before_filters_time=>0.000107} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000442, :before_filters_time=>6.7e-05} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000323, :before_filters_time=>0.000111} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000719, :before_filters_time=>0.000205} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000244, :before_filters_time=>7.5e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.002381, :before_filters_time=>9.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000813, :before_filters_time=>7.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000307, :before_filters_time=>0.000103} + ~ {:after_filters_time=>8.3e-05, :action_time=>0.001513, :before_filters_time=>0.001218} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000812} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000605} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000696} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000599} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>4.6e-05, :action_time=>0.000849} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000648} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000648} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000658} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000664} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000671} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000593, :before_filters_time=>0.000178} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000587, :before_filters_time=>0.000165} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000449, :before_filters_time=>0.000131} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000447, :before_filters_time=>0.000139} + ~ {:after_filters_time=>1.0e-05, :action_time=>0.00288, :before_filters_time=>0.000141} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000576, :before_filters_time=>0.000157} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000466, :before_filters_time=>7.5e-05} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000383, :before_filters_time=>9.1e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000675, :before_filters_time=>0.000287} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00025, :before_filters_time=>7.9e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001222, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000204, :before_filters_time=>5.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000459, :before_filters_time=>0.000147} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000263, :before_filters_time=>9.3e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000995} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001343} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000703} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000687} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000889} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000807} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000749} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000643} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00073} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000628} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000451, :before_filters_time=>6.7e-05} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000275, :before_filters_time=>8.2e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000468, :before_filters_time=>9.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000255, :before_filters_time=>7.8e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001953, :before_filters_time=>9.2e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000459, :before_filters_time=>6.4e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000314, :before_filters_time=>0.000105} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00023, :before_filters_time=>8.2e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000813} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.0007} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000798} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000774} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00076} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000655} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00097} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001057} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.2e-05, :action_time=>0.000858} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000699} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.003482, :before_filters_time=>0.000228} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000261, :before_filters_time=>6.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000319, :before_filters_time=>9.6e-05} + ~ {:after_filters_time=>9.3e-05, :action_time=>0.000372, :before_filters_time=>0.000126} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000973} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000656} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001462} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000737} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00086} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000804} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00073} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000721} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001311} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000917} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.002833, :before_filters_time=>7.6e-05} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000295, :before_filters_time=>8.1e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001069, :before_filters_time=>0.000108} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000262, :before_filters_time=>8.0e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001171, :before_filters_time=>8.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00021, :before_filters_time=>5.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000263, :before_filters_time=>9.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000225, :before_filters_time=>8.2e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000928} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000643} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000756} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000714} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.00079} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000761} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000731} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001477} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000855} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000661} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00046, :before_filters_time=>9.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000405, :before_filters_time=>8.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000388, :before_filters_time=>8.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000377, :before_filters_time=>8.1e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001801, :before_filters_time=>8.4e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000376, :before_filters_time=>8.8e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.002546, :before_filters_time=>8.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000213, :before_filters_time=>6.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000284, :before_filters_time=>0.000102} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000239, :before_filters_time=>8.8e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000768} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000751} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00072} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000644} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000751} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000678} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000657} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000647} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000735} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000742} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000758, :before_filters_time=>0.000119} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000417, :before_filters_time=>9.3e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000488, :before_filters_time=>0.000114} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001745, :before_filters_time=>0.001349} + ~ {:after_filters_time=>1.1e-05, :action_time=>0.003403, :before_filters_time=>0.000118} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000428, :before_filters_time=>0.000103} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000416, :before_filters_time=>6.2e-05} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000425, :before_filters_time=>0.000181} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000498, :before_filters_time=>0.000107} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000311, :before_filters_time=>9.4e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>1.2e-05, :action_time=>0.003471, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.002451, :before_filters_time=>0.000116} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000361, :before_filters_time=>0.000134} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000248, :before_filters_time=>9.2e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001447} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.001984} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000919} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000756} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000787} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000954} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001194} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00073} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000761} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000728} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000476, :before_filters_time=>0.000125} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00043, :before_filters_time=>9.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000406, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.002228, :before_filters_time=>0.000436} + ~ {:after_filters_time=>2.0e-05, :action_time=>0.097745, :before_filters_time=>0.00012} + ~ {:after_filters_time=>1.1e-05, :action_time=>0.000844, :before_filters_time=>0.0002} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001417, :before_filters_time=>9.1e-05} + ~ true + ~ {:after_filters_time=>1.1e-05, :action_time=>0.000641, :before_filters_time=>8.3e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000508, :before_filters_time=>0.000117} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000309, :before_filters_time=>0.000101} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>8.0e-06, :action_time=>0.002312, :before_filters_time=>0.000104} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000789, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00068, :before_filters_time=>0.000117} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000319, :before_filters_time=>0.0001} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.4e-05, :action_time=>0.00236} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001378} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.2e-05, :action_time=>0.002054} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001745} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.001653} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.002319} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.001431} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001269} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000747} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00073} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000609, :before_filters_time=>0.000128} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000486, :before_filters_time=>0.000108} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000596, :before_filters_time=>0.000163} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000375, :before_filters_time=>8.5e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.002183, :before_filters_time=>8.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000449, :before_filters_time=>0.000103} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000286, :before_filters_time=>8.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000417, :before_filters_time=>9.2e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000332, :before_filters_time=>0.000156} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.002748, :before_filters_time=>0.000109} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000633, :before_filters_time=>0.000173} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000304, :before_filters_time=>0.000107} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000327, :before_filters_time=>0.000119} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000818} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000785} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000735} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000822} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001185} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000977} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000738} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000674} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00066} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000652} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000513, :before_filters_time=>0.000101} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000536, :before_filters_time=>0.000101} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000521, :before_filters_time=>0.000102} + ~ {:after_filters_time=>0.000768, :action_time=>0.001524, :before_filters_time=>0.000112} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.002902, :before_filters_time=>0.00099} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000425, :before_filters_time=>9.9e-05} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000285, :before_filters_time=>8.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000956, :before_filters_time=>0.000112} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000561, :before_filters_time=>0.000178} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001227, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000204, :before_filters_time=>6.0e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000267, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000358, :before_filters_time=>9.5e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000814} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000639} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000752} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.001502} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000894} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000811} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000837} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000774} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000914} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000653} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000421, :before_filters_time=>0.000102} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000427, :before_filters_time=>0.000112} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000428, :before_filters_time=>8.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000368, :before_filters_time=>8.4e-05} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.002186, :before_filters_time=>0.000103} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000424, :before_filters_time=>0.000101} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000307, :before_filters_time=>8.9e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001035, :before_filters_time=>0.000429} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001135, :before_filters_time=>0.00092} + ~ Compiling routes... + ~ Compiling routes... + ~ Compiling routes... + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ true + ~ {:action_time=>0.000271, :before_filters_time=>7.7e-05, :after_filters_time=>8.0e-06} + ~ {:action_time=>0.000503, :before_filters_time=>9.4e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000258, :before_filters_time=>7.9e-05, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ true + ~ {:action_time=>0.000308, :before_filters_time=>8.5e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000569, :before_filters_time=>0.00012, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000263, :before_filters_time=>8.0e-05, :after_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ true + ~ {:action_time=>0.000307, :before_filters_time=>8.8e-05, :after_filters_time=>8.0e-06} + ~ {:action_time=>0.000734, :before_filters_time=>0.000103, :after_filters_time=>9.0e-06} + ~ {:action_time=>0.000313, :before_filters_time=>0.000113, :after_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ true + ~ {:action_time=>0.000323, :before_filters_time=>9.2e-05, :after_filters_time=>8.0e-06} + ~ {:action_time=>0.000549, :before_filters_time=>0.000136, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000253, :before_filters_time=>7.8e-05, :after_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ true + ~ {:action_time=>0.000423, :before_filters_time=>8.3e-05, :after_filters_time=>8.0e-06} + ~ {:action_time=>0.000972, :before_filters_time=>0.000533, :after_filters_time=>8.0e-06} + ~ {:action_time=>0.00025, :before_filters_time=>7.8e-05, :after_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ true + ~ {:action_time=>0.000309, :before_filters_time=>8.8e-05, :after_filters_time=>8.0e-06} + ~ {:action_time=>0.000522, :before_filters_time=>0.000102, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000337, :before_filters_time=>0.000149, :after_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ true + ~ {:action_time=>0.000291, :before_filters_time=>7.9e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.0008, :before_filters_time=>0.000139, :after_filters_time=>9.0e-06} + ~ {:action_time=>0.000293, :before_filters_time=>8.6e-05, :after_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ true + ~ {:action_time=>0.000278, :before_filters_time=>8.0e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.00045, :before_filters_time=>9.3e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000242, :before_filters_time=>7.6e-05, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ true + ~ {:action_time=>0.000267, :before_filters_time=>7.6e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.001581, :before_filters_time=>9.9e-05, :after_filters_time=>9.0e-06} + ~ {:action_time=>0.000262, :before_filters_time=>8.4e-05, :after_filters_time=>8.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ true + ~ {:action_time=>0.000321, :before_filters_time=>7.7e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000462, :before_filters_time=>9.3e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000297, :before_filters_time=>9.5e-05, :after_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ true + ~ {:action_time=>0.000284, :before_filters_time=>8.2e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000495, :before_filters_time=>0.000104, :after_filters_time=>8.0e-06} + ~ {:action_time=>0.000375, :before_filters_time=>9.7e-05, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ true + ~ {:action_time=>0.000329, :before_filters_time=>0.000104, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000449, :before_filters_time=>9.1e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000251, :before_filters_time=>8.0e-05, :after_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ true + ~ {:action_time=>0.000291, :before_filters_time=>8.3e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000454, :before_filters_time=>9.0e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000239, :before_filters_time=>7.7e-05, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001165, :before_filters_time=>0.000116} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000237, :before_filters_time=>9.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000271, :before_filters_time=>9.6e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000219, :before_filters_time=>7.9e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000879} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000769} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000688} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000645} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000909} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000659} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000752} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.0007} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000723} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000888} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000431, :before_filters_time=>0.0001} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000461, :before_filters_time=>0.000105} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00038, :before_filters_time=>8.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000498, :before_filters_time=>8.3e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001809, :before_filters_time=>8.6e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000456, :before_filters_time=>9.5e-05} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000265, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000448, :before_filters_time=>9.3e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000275, :before_filters_time=>8.6e-05} + ~ Compiling routes... + ~ Compiling routes... + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ true + ~ {:action_time=>0.000328, :before_filters_time=>8.0e-05, :after_filters_time=>8.0e-06} + ~ {:action_time=>0.000468, :before_filters_time=>9.1e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000249, :before_filters_time=>7.7e-05, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ true + ~ {:action_time=>0.000261, :before_filters_time=>7.6e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000461, :before_filters_time=>9.1e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000241, :before_filters_time=>7.5e-05, :after_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ true + ~ {:action_time=>0.000592, :before_filters_time=>8.1e-05, :after_filters_time=>9.0e-06} + ~ {:action_time=>0.000453, :before_filters_time=>9.1e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000285, :before_filters_time=>8.9e-05, :after_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Compiling routes... + ~ Could not load /Users/adam/src/sandbox/chef/packages/chef-server/config/router.rb: + +undefined method `name' for {:validate=>:post}:Hash - (NoMethodError) + +/Users/adam/src/sandbox/chef/packages/chef-server/config/router.rb:41 +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/dispatch/router.rb:48:in `prepare' +/Users/adam/src/sandbox/chef/packages/chef-server/config/router.rb:23 +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:329:in `load' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:329:in `load_file' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:354:in `load_classes_with_requirements' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:351:in `each' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:351:in `load_classes_with_requirements' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:322:in `run' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:67:in `run' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/server.rb:43:in `start' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core.rb:36:in `start' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core.rb:47:in `start_environment' +./spec/views/nodes/../../spec_helper.rb:5 +/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require' +/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `require' +./spec/views/nodes/new.html.erb_spec.rb:1 +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:14:in `load' +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:14:in `load_files' +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:13:in `each' +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:13:in `load_files' +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/options.rb:85:in `run_examples' +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/command_line.rb:19:in `run' +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/bin/spec:4 +/usr/bin/spec:19:in `load' +/usr/bin/spec:19 + ~ Compiling routes... + ~ Compiling routes... + ~ Could not load /Users/adam/src/sandbox/chef/packages/chef-server/config/router.rb: + +undefined method `name' for {:validate=>:post}:Hash - (NoMethodError) + +/Users/adam/src/sandbox/chef/packages/chef-server/config/router.rb:41 +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/dispatch/router.rb:48:in `prepare' +/Users/adam/src/sandbox/chef/packages/chef-server/config/router.rb:23 +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:329:in `load' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:329:in `load_file' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:354:in `load_classes_with_requirements' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:351:in `each' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:351:in `load_classes_with_requirements' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:322:in `run' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/bootloader.rb:67:in `run' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core/server.rb:43:in `start' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core.rb:36:in `start' +/Library/Ruby/Gems/1.8/gems/merb-core-0.9.3/lib/merb-core.rb:47:in `start_environment' +./spec/models/../spec_helper.rb:5 +/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require' +/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `require' +./spec/models/ident_spec.rb:1 +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:14:in `load' +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:14:in `load_files' +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:13:in `each' +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/example_group_runner.rb:13:in `load_files' +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/options.rb:85:in `run_examples' +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/lib/spec/runner/command_line.rb:19:in `run' +/Library/Ruby/Gems/1.8/gems/rspec-1.1.3/bin/spec:4 +/usr/bin/spec:19:in `load' +/usr/bin/spec:19 + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001204, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00022, :before_filters_time=>6.0e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000295, :before_filters_time=>0.000101} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000221, :before_filters_time=>7.9e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00079} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000719} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000654} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000806} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000797} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000645} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00071} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00069} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000665} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000822} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000444, :before_filters_time=>0.000102} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000408, :before_filters_time=>8.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000405, :before_filters_time=>8.6e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000393, :before_filters_time=>8.7e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001833, :before_filters_time=>9.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000474, :before_filters_time=>0.000103} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000266, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000462, :before_filters_time=>0.0001} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000254, :before_filters_time=>7.8e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001511, :before_filters_time=>8.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000205, :before_filters_time=>6.1e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000426, :before_filters_time=>0.000217} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000247, :before_filters_time=>8.8e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000793} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000925} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000677} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.002088} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000782} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000721} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000725} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00074} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000685} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000664} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000548, :before_filters_time=>0.000112} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00054, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000462, :before_filters_time=>0.000111} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00042, :before_filters_time=>9.7e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.002091, :before_filters_time=>9.5e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000438, :before_filters_time=>0.000105} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000316, :before_filters_time=>8.4e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000523, :before_filters_time=>0.000113} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000266, :before_filters_time=>8.6e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001705, :before_filters_time=>9.9e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000296, :before_filters_time=>7.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.002067, :before_filters_time=>0.000139} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001439, :before_filters_time=>0.000118} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001036} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000852} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.5e-05, :action_time=>0.00102} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000682} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000733} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000939} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.00101} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00097} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000975} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000998} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000492, :before_filters_time=>0.000118} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00048, :before_filters_time=>9.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000445, :before_filters_time=>0.000106} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000521, :before_filters_time=>0.000119} + ~ {:after_filters_time=>1.2e-05, :action_time=>0.001951, :before_filters_time=>0.000111} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000464, :before_filters_time=>0.000109} + ~ true + ~ {:after_filters_time=>3.4e-05, :action_time=>0.001774, :before_filters_time=>0.000452} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000521, :before_filters_time=>0.000138} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000346, :before_filters_time=>0.000126} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00112, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000235, :before_filters_time=>6.6e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000344, :before_filters_time=>0.00014} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000233, :before_filters_time=>8.4e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000745} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000649} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000667} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000661} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00072} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000947} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000649} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000699} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000664} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000639} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000473, :before_filters_time=>0.000115} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000894, :before_filters_time=>0.000108} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000447, :before_filters_time=>0.000108} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00043, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001804, :before_filters_time=>8.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000406, :before_filters_time=>9.4e-05} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000293, :before_filters_time=>8.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000434, :before_filters_time=>0.000101} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000322, :before_filters_time=>8.6e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001138, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000216, :before_filters_time=>6.2e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000271, :before_filters_time=>9.9e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000287, :before_filters_time=>8.0e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001106} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000765} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000697} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00062} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000788} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000926} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000684} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000688} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000667} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000636} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000466, :before_filters_time=>0.000112} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00049, :before_filters_time=>9.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00045, :before_filters_time=>0.000108} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00042, :before_filters_time=>9.1e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00185, :before_filters_time=>0.000114} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000499, :before_filters_time=>0.000103} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000278, :before_filters_time=>8.2e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000483, :before_filters_time=>9.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000326, :before_filters_time=>0.000103} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001119, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00021, :before_filters_time=>5.9e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00029, :before_filters_time=>0.000106} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000719, :before_filters_time=>0.000491} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001175} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000687} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000737} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000715} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000962} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000724} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001016} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000779} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00068} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000664} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000451, :before_filters_time=>0.000108} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000506, :before_filters_time=>0.000106} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000526, :before_filters_time=>0.000114} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001005, :before_filters_time=>0.000115} + ~ {:after_filters_time=>1.0e-05, :action_time=>0.002157, :before_filters_time=>0.000134} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000598, :before_filters_time=>0.000162} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000425, :before_filters_time=>9.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000436, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000249, :before_filters_time=>7.7e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001163, :before_filters_time=>0.000115} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000404, :before_filters_time=>6.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000331, :before_filters_time=>0.00015} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000227, :before_filters_time=>8.4e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000756} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000619} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000689} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000641} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000713} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000641} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000658} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000706} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000763} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000775} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00044, :before_filters_time=>0.000102} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000432, :before_filters_time=>9.5e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000477, :before_filters_time=>0.000117} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000429, :before_filters_time=>0.000101} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001882, :before_filters_time=>0.000135} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000416, :before_filters_time=>0.0001} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000415, :before_filters_time=>8.7e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000641, :before_filters_time=>0.000149} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000267, :before_filters_time=>8.0e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00129, :before_filters_time=>7.5e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000227, :before_filters_time=>5.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000272, :before_filters_time=>9.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000221, :before_filters_time=>8.0e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000738} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001506} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000839} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00065} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000965} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00069} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000888} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000716} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000689} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000996} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000508, :before_filters_time=>0.000111} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000457, :before_filters_time=>0.000132} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000413, :before_filters_time=>9.5e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000464, :before_filters_time=>0.000104} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.002005, :before_filters_time=>0.000152} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000522, :before_filters_time=>9.9e-05} + ~ true + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000568, :before_filters_time=>7.5e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000456, :before_filters_time=>0.000105} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000251, :before_filters_time=>7.9e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001186, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000279, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000418, :before_filters_time=>0.000127} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000246, :before_filters_time=>9.0e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000978} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000624} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000656} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000801} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001115} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.003694} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000811} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001303} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000743} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000741} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000562, :before_filters_time=>0.000122} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000534, :before_filters_time=>0.000106} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000526, :before_filters_time=>0.000121} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000484, :before_filters_time=>0.000112} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001867, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000438, :before_filters_time=>0.000104} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000316, :before_filters_time=>8.9e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.002128, :before_filters_time=>0.000147} + ~ {:after_filters_time=>1.9e-05, :action_time=>0.000326, :before_filters_time=>9.1e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001149, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00021, :before_filters_time=>6.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000276, :before_filters_time=>0.0001} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000228, :before_filters_time=>8.4e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000846} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000851} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000722} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000618} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000722} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000698} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001306} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000678} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001021} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00065} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000441, :before_filters_time=>0.000107} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000422, :before_filters_time=>9.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000444, :before_filters_time=>0.000109} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000442, :before_filters_time=>9.2e-05} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.002184, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000436, :before_filters_time=>0.000104} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000277, :before_filters_time=>8.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000467, :before_filters_time=>0.000121} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000256, :before_filters_time=>8.1e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001176, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000208, :before_filters_time=>5.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000419, :before_filters_time=>0.000114} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000237, :before_filters_time=>8.5e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000788} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000776} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000664} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000669} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000677} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000711} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000781} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000681} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000655} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00092} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000451, :before_filters_time=>0.000103} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000423, :before_filters_time=>8.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000443, :before_filters_time=>0.000105} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.0006, :before_filters_time=>0.000109} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001908, :before_filters_time=>0.000169} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000469, :before_filters_time=>9.4e-05} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000296, :before_filters_time=>8.2e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000482, :before_filters_time=>9.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000251, :before_filters_time=>8.0e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001239, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00023, :before_filters_time=>6.6e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000272, :before_filters_time=>9.9e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000228, :before_filters_time=>8.2e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000761} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000631} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000666} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000603} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000752} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.2e-05, :action_time=>0.000663} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000656} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000657} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000772} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000726} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000432, :before_filters_time=>0.000103} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000404, :before_filters_time=>8.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000442, :before_filters_time=>0.000106} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000455, :before_filters_time=>0.0001} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.00194, :before_filters_time=>9.5e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000432, :before_filters_time=>0.000101} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000265, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000442, :before_filters_time=>0.0001} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000313, :before_filters_time=>8.3e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001262, :before_filters_time=>8.1e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000202, :before_filters_time=>5.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00028, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000238, :before_filters_time=>8.2e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000733} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000667} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000746} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000639} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00091} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000655} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000704} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000711} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000692} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000824} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000433, :before_filters_time=>0.0001} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000484, :before_filters_time=>9.7e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000422, :before_filters_time=>9.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000441, :before_filters_time=>9.9e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001933, :before_filters_time=>8.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000418, :before_filters_time=>0.0001} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000279, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000848, :before_filters_time=>0.0001} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000338, :before_filters_time=>0.000155} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001303, :before_filters_time=>8.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000236, :before_filters_time=>6.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000349, :before_filters_time=>0.000118} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000265, :before_filters_time=>9.4e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000988} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001302} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001279} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000666} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001906} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000777} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000827} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001037} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000907} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00086} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001099, :before_filters_time=>0.000153} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000514, :before_filters_time=>0.000114} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000451, :before_filters_time=>0.000103} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000423, :before_filters_time=>0.0001} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001838, :before_filters_time=>9.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000415, :before_filters_time=>9.8e-05} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000304, :before_filters_time=>8.1e-05} + ~ {:after_filters_time=>0.000445, :action_time=>0.000916, :before_filters_time=>0.000101} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00028, :before_filters_time=>9.6e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001198, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000373, :before_filters_time=>8.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000309, :before_filters_time=>0.000106} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000238, :before_filters_time=>9.2e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000782} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000673} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000699} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00064} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000779} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000676} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000735} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000659} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000644} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000755} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000427, :before_filters_time=>0.000101} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000428, :before_filters_time=>9.1e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001231, :before_filters_time=>0.000826} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000501, :before_filters_time=>0.000108} + ~ {:after_filters_time=>1.0e-05, :action_time=>0.003031, :before_filters_time=>0.000111} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00043, :before_filters_time=>0.000104} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000325, :before_filters_time=>9.2e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000517, :before_filters_time=>0.000119} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000277, :before_filters_time=>9.9e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001172, :before_filters_time=>7.4e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000203, :before_filters_time=>5.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000291, :before_filters_time=>0.000103} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000235, :before_filters_time=>8.2e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000728} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000641} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000646} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000743} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000786} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000672} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000661} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000654} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000733} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000787} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000437, :before_filters_time=>0.000101} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000444, :before_filters_time=>9.2e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000659, :before_filters_time=>0.000112} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000487, :before_filters_time=>0.000106} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001887, :before_filters_time=>9.1e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000417, :before_filters_time=>9.6e-05} + ~ true + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000339, :before_filters_time=>0.00013} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000441, :before_filters_time=>9.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000257, :before_filters_time=>8.1e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001486, :before_filters_time=>8.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00021, :before_filters_time=>6.2e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000272, :before_filters_time=>0.0001} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000233, :before_filters_time=>8.2e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000761} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000673} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000749} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000698} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000741} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000639} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000643} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000648} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000636} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.000764} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000439, :before_filters_time=>0.000109} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000459, :before_filters_time=>8.8e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000481, :before_filters_time=>0.000111} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000429, :before_filters_time=>0.000103} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001777, :before_filters_time=>8.8e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000468, :before_filters_time=>0.000103} + ~ true + ~ {:after_filters_time=>3.1e-05, :action_time=>0.000325, :before_filters_time=>8.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000426, :before_filters_time=>9.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000275, :before_filters_time=>7.9e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001112, :before_filters_time=>8.2e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00023, :before_filters_time=>7.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000338, :before_filters_time=>0.000108} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000328, :before_filters_time=>9.2e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000751} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00066} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000931} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000651} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001696} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.00123} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.001824} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000823} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.0008} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.1e-05, :action_time=>0.002473} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000504, :before_filters_time=>0.000123} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000481, :before_filters_time=>0.000107} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000622, :before_filters_time=>0.000122} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000541, :before_filters_time=>0.000173} + ~ {:after_filters_time=>1.2e-05, :action_time=>0.002514, :before_filters_time=>0.000182} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00047, :before_filters_time=>0.000113} + ~ true + ~ {:after_filters_time=>9.0e-06, :action_time=>0.000914, :before_filters_time=>0.000138} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000542, :before_filters_time=>0.000127} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001168, :before_filters_time=>0.000909} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>1.2e-05, :action_time=>0.00113, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000353, :before_filters_time=>6.7e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000405, :before_filters_time=>0.000154} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000258, :before_filters_time=>9.4e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000807} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000646} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000714} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000611} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000705} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000779} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000708} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000779} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000749} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000681} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000512, :before_filters_time=>0.000105} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000424, :before_filters_time=>9.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000446, :before_filters_time=>0.000105} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000465, :before_filters_time=>0.000118} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.002162, :before_filters_time=>0.000138} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000433, :before_filters_time=>0.000104} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000287, :before_filters_time=>8.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000534, :before_filters_time=>0.000111} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000423, :before_filters_time=>9.9e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001225, :before_filters_time=>8.8e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000228, :before_filters_time=>6.8e-05} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.000965, :before_filters_time=>0.000122} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000337, :before_filters_time=>0.000124} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>2.5e-05, :action_time=>0.001147} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001215} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001026} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.1e-05, :action_time=>0.001358} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001134} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.000838} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001441} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000895} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001966} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000702} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000568, :before_filters_time=>0.000173} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.0005, :before_filters_time=>0.000114} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000465, :before_filters_time=>0.00011} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000678, :before_filters_time=>0.000112} + ~ {:after_filters_time=>1.1e-05, :action_time=>0.002012, :before_filters_time=>0.000105} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000448, :before_filters_time=>0.000107} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000534, :before_filters_time=>0.000138} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000474, :before_filters_time=>0.00011} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000258, :before_filters_time=>8.1e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001185, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000201, :before_filters_time=>6.0e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000329, :before_filters_time=>0.000107} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000228, :before_filters_time=>8.5e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000754} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>2.8e-05, :action_time=>0.000718} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000673} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00061} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00077} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001029} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000787} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000678} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001017} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000663} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00051, :before_filters_time=>0.000112} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00042, :before_filters_time=>8.8e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000577, :before_filters_time=>0.000108} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000395, :before_filters_time=>9.1e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001932, :before_filters_time=>0.000101} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000426, :before_filters_time=>0.0001} + ~ true + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000275, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000468, :before_filters_time=>0.000103} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000263, :before_filters_time=>7.9e-05} + ~ Compiling routes... + ~ Compiling routes... + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001269, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.0002, :before_filters_time=>5.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000287, :before_filters_time=>0.000101} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000216, :before_filters_time=>7.7e-05} + ~ Redirecting to: /openid/consumer/logout + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000884} + ~ Redirecting to: /openid/consumer/logout + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000672} + ~ Redirecting to: /openid/consumer/logout + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000934} + ~ Redirecting to: /openid/consumer/logout + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000983} + ~ Redirecting to: /openid/consumer/logout + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000711} + ~ Redirecting to: /openid/consumer/logout + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00073} + ~ Redirecting to: /openid/consumer/logout + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00069} + ~ Redirecting to: /openid/consumer/logout + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000657} + ~ Redirecting to: /openid/consumer/logout + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00069} + ~ Redirecting to: /openid/consumer/logout + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001221} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000463, :before_filters_time=>0.000108} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000505, :before_filters_time=>8.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00041, :before_filters_time=>9.0e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000448, :before_filters_time=>0.000104} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001933, :before_filters_time=>9.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000432, :before_filters_time=>0.000101} + ~ true + ~ {:after_filters_time=>1.0e-05, :action_time=>0.00029, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000481, :before_filters_time=>9.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000246, :before_filters_time=>7.7e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001202, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000239, :before_filters_time=>6.6e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.00055, :before_filters_time=>0.000108} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000412, :before_filters_time=>0.000114} + ~ Redirecting to: /openid/consumer/logout + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001229} + ~ Redirecting to: /openid/consumer/logout + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000805} + ~ Redirecting to: /openid/consumer/logout + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000739} + ~ Redirecting to: /openid/consumer/logout + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000895} + ~ Redirecting to: /openid/consumer/logout + ~ {:after_filters_time=>9.0e-06, :action_time=>0.002109} + ~ Redirecting to: /openid/consumer/logout + ~ {:after_filters_time=>8.0e-06, :action_time=>0.002882} + ~ Redirecting to: /openid/consumer/logout + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000829} + ~ Redirecting to: /openid/consumer/logout + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000973} + ~ Redirecting to: /openid/consumer/logout + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000816} + ~ Redirecting to: /openid/consumer/logout + ~ {:after_filters_time=>8.0e-06, :action_time=>0.002712} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.000553, :before_filters_time=>0.000122} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000505, :before_filters_time=>0.000106} + ~ {:after_filters_time=>4.2e-05, :action_time=>0.00133, :before_filters_time=>0.000252} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000466, :before_filters_time=>0.000117} + ~ {:after_filters_time=>1.0e-05, :action_time=>0.002172, :before_filters_time=>0.000111} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00044, :before_filters_time=>0.000102} + ~ true + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000881, :before_filters_time=>0.000106} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000993, :before_filters_time=>0.000144} + ~ {:after_filters_time=>1.7e-05, :action_time=>0.001108, :before_filters_time=>0.000717} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00121, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00029, :before_filters_time=>5.8e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000274, :before_filters_time=>9.7e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000231, :before_filters_time=>8.3e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000799} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000624} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000947} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00095} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00074} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000647} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000639} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000674} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>2.0e-05, :action_time=>0.000757} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000761} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000476, :before_filters_time=>0.000106} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000454, :before_filters_time=>9.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000394, :before_filters_time=>8.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000461, :before_filters_time=>9.4e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001875, :before_filters_time=>9.2e-05} + ~ {:after_filters_time=>4.8e-05, :action_time=>0.000845, :before_filters_time=>0.000108} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000375, :before_filters_time=>8.5e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001786, :before_filters_time=>0.00012} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000265, :before_filters_time=>8.1e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001254, :before_filters_time=>0.000124} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000389, :before_filters_time=>0.000222} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000285, :before_filters_time=>0.000102} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00025, :before_filters_time=>9.0e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001102} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000873} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000655} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00061} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000781} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000668} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000746} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000803} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000639} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00079} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00045, :before_filters_time=>0.000106} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000543, :before_filters_time=>0.000114} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000397, :before_filters_time=>9.1e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000415, :before_filters_time=>8.9e-05} + ~ {:after_filters_time=>1.0e-05, :action_time=>0.002552, :before_filters_time=>0.000131} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00044, :before_filters_time=>0.000112} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000435, :before_filters_time=>8.8e-05} + ~ {:after_filters_time=>1.0e-05, :action_time=>0.002765, :before_filters_time=>0.0001} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000274, :before_filters_time=>8.7e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>8.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.001241} + ~ {:before_filters_time=>5.7e-05, :after_filters_time=>5.0e-06, :action_time=>0.000195} + ~ {:before_filters_time=>9.9e-05, :after_filters_time=>6.0e-06, :action_time=>0.000278} + ~ {:before_filters_time=>8.4e-05, :after_filters_time=>5.0e-06, :action_time=>0.00023} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000722} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000607} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000667} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000722} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000695} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000651} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000659} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000679} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000767} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.003426} + ~ {:before_filters_time=>0.000118, :after_filters_time=>6.0e-06, :action_time=>0.000507} + ~ {:before_filters_time=>0.000477, :after_filters_time=>8.0e-06, :action_time=>0.001034} + ~ {:before_filters_time=>0.00021, :after_filters_time=>6.0e-06, :action_time=>0.000655} + ~ {:before_filters_time=>8.8e-05, :after_filters_time=>5.0e-06, :action_time=>0.000392} + ~ {:before_filters_time=>9.8e-05, :after_filters_time=>7.0e-06, :action_time=>0.002854} + ~ {:before_filters_time=>0.000116, :after_filters_time=>6.0e-06, :action_time=>0.00046} + ~ true + ~ {:before_filters_time=>8.9e-05, :after_filters_time=>6.0e-06, :action_time=>0.000405} + ~ {:before_filters_time=>0.00013, :after_filters_time=>6.0e-06, :action_time=>0.000533} + ~ {:before_filters_time=>9.0e-05, :after_filters_time=>6.0e-06, :action_time=>0.000286} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06, :action_time=>0.001356} + ~ {:before_filters_time=>0.000337, :after_filters_time=>5.0e-06, :action_time=>0.000492} + ~ {:before_filters_time=>9.6e-05, :after_filters_time=>6.0e-06, :action_time=>0.000278} + ~ {:before_filters_time=>9.3e-05, :after_filters_time=>5.0e-06, :action_time=>0.000261} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000787} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000715} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000793} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000751} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000804} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000752} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000731} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00068} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000691} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000803} + ~ {:before_filters_time=>0.000119, :after_filters_time=>6.0e-06, :action_time=>0.000534} + ~ {:before_filters_time=>0.000423, :after_filters_time=>6.0e-06, :action_time=>0.000781} + ~ {:before_filters_time=>8.7e-05, :after_filters_time=>5.0e-06, :action_time=>0.000386} + ~ {:before_filters_time=>9.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.000401} + ~ {:before_filters_time=>0.000143, :after_filters_time=>7.0e-06, :action_time=>0.001993} + ~ {:before_filters_time=>9.6e-05, :after_filters_time=>7.0e-06, :action_time=>0.000531} + ~ true + ~ {:before_filters_time=>8.0e-05, :after_filters_time=>6.0e-06, :action_time=>0.000269} + ~ {:before_filters_time=>0.0001, :after_filters_time=>6.0e-06, :action_time=>0.00044} + ~ {:before_filters_time=>8.4e-05, :after_filters_time=>6.0e-06, :action_time=>0.00035} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001203, :before_filters_time=>7.5e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000198, :before_filters_time=>5.5e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000276, :before_filters_time=>9.7e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000246, :before_filters_time=>0.000101} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000758} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000683} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000766} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000647} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000713} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000649} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000743} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00077} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000676} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000797} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000506, :before_filters_time=>0.000102} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000434, :before_filters_time=>9.2e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000388, :before_filters_time=>8.5e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000384, :before_filters_time=>8.4e-05} + ~ {:after_filters_time=>1.0e-05, :action_time=>0.001939, :before_filters_time=>9.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000685, :before_filters_time=>0.000107} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000278, :before_filters_time=>8.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000474, :before_filters_time=>0.000103} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000284, :before_filters_time=>8.6e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>8.0e-05, :after_filters_time=>6.0e-06, :action_time=>0.001244} + ~ {:before_filters_time=>5.7e-05, :after_filters_time=>5.0e-06, :action_time=>0.000195} + ~ {:before_filters_time=>9.6e-05, :after_filters_time=>5.0e-06, :action_time=>0.000274} + ~ {:before_filters_time=>8.2e-05, :after_filters_time=>5.0e-06, :action_time=>0.000227} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.0008} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000749} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00068} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00069} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000701} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000772} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000651} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000676} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000679} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000804} + ~ {:before_filters_time=>0.000114, :after_filters_time=>6.0e-06, :action_time=>0.00048} + ~ {:before_filters_time=>9.8e-05, :after_filters_time=>6.0e-06, :action_time=>0.000453} + ~ {:before_filters_time=>9.9e-05, :after_filters_time=>6.0e-06, :action_time=>0.000429} + ~ {:before_filters_time=>0.000101, :after_filters_time=>6.0e-06, :action_time=>0.000439} + ~ {:before_filters_time=>0.0001, :after_filters_time=>8.0e-06, :action_time=>0.002012} + ~ {:before_filters_time=>0.000101, :after_filters_time=>5.0e-06, :action_time=>0.000419} + ~ true + ~ {:before_filters_time=>8.8e-05, :after_filters_time=>6.0e-06, :action_time=>0.000297} + ~ {:before_filters_time=>9.6e-05, :after_filters_time=>6.0e-06, :action_time=>0.000427} + ~ {:before_filters_time=>0.0124770000000001, :after_filters_time=>8.0e-06, :action_time=>0.0127250000000001} + ~ Compiling routes... + ~ Compiling routes... + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001217, :before_filters_time=>8.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000221, :before_filters_time=>6.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000306, :before_filters_time=>0.000108} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000462, :before_filters_time=>8.2e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000769} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00067} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000812} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000728} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000881} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000774} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000732} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000643} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000734} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000782} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000438, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000408, :before_filters_time=>8.4e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000405, :before_filters_time=>8.8e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00066, :before_filters_time=>9.4e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.002082, :before_filters_time=>9.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000437, :before_filters_time=>9.9e-05} + ~ true + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000314, :before_filters_time=>8.5e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000493, :before_filters_time=>0.000107} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000256, :before_filters_time=>7.9e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>8.3e-05, :after_filters_time=>6.0e-06, :action_time=>0.001769} + ~ {:before_filters_time=>6.7e-05, :after_filters_time=>5.0e-06, :action_time=>0.000236} + ~ {:before_filters_time=>0.000104, :after_filters_time=>5.0e-06, :action_time=>0.000288} + ~ {:before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06, :action_time=>0.000226} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000743} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00077} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000705} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000658} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000697} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00078} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001208} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000772} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000804} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000903} + ~ {:before_filters_time=>0.000105, :after_filters_time=>6.0e-06, :action_time=>0.000508} + ~ {:before_filters_time=>9.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.00043} + ~ {:before_filters_time=>8.8e-05, :after_filters_time=>6.0e-06, :action_time=>0.000416} + ~ {:before_filters_time=>0.000105, :after_filters_time=>6.0e-06, :action_time=>0.000461} + ~ {:before_filters_time=>9.7e-05, :after_filters_time=>6.0e-06, :action_time=>0.001812} + ~ {:before_filters_time=>9.8e-05, :after_filters_time=>6.0e-06, :action_time=>0.000425} + ~ true + ~ {:before_filters_time=>8.2e-05, :after_filters_time=>8.0e-06, :action_time=>0.000441} + ~ {:before_filters_time=>0.000163, :after_filters_time=>6.0e-06, :action_time=>0.000532} + ~ {:before_filters_time=>8.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.000257} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001146, :before_filters_time=>8.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000217, :before_filters_time=>6.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000309, :before_filters_time=>0.000111} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000265, :before_filters_time=>8.8e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000841} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000642} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000753} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000853} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000853} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000645} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001193} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00084} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.001284} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000843} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000442, :before_filters_time=>0.000108} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.035777, :before_filters_time=>0.000186} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000505, :before_filters_time=>0.000155} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000481, :before_filters_time=>0.000142} + ~ {:after_filters_time=>1.7e-05, :action_time=>0.002099, :before_filters_time=>9.9e-05} + ~ {:after_filters_time=>1.0e-05, :action_time=>0.000462, :before_filters_time=>0.000108} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000357, :before_filters_time=>8.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000478, :before_filters_time=>0.000108} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000287, :before_filters_time=>8.9e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001231, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00022, :before_filters_time=>6.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00029, :before_filters_time=>0.000102} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000228, :before_filters_time=>8.4e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000773} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001017} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000938} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001642} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000994} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00072} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000713} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000804} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000725} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001175} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000505, :before_filters_time=>0.000123} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000553, :before_filters_time=>0.000121} + ~ {:after_filters_time=>2.2e-05, :action_time=>0.000605, :before_filters_time=>0.000112} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000511, :before_filters_time=>0.000103} + ~ {:after_filters_time=>1.1e-05, :action_time=>0.003435, :before_filters_time=>0.000129} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000462, :before_filters_time=>0.00011} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000276, :before_filters_time=>8.2e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000567, :before_filters_time=>0.000115} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00032, :before_filters_time=>0.000106} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00148, :before_filters_time=>0.000308} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000209, :before_filters_time=>6.2e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000281, :before_filters_time=>0.000102} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000314, :before_filters_time=>8.5e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000764} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000624} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000795} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000761} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000788} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000715} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000674} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000796} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000795} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000742} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000467, :before_filters_time=>0.000115} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000742, :before_filters_time=>0.000126} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000676, :before_filters_time=>0.000144} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.002173, :before_filters_time=>0.001412} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.002205, :before_filters_time=>0.000115} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000481, :before_filters_time=>0.000115} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000279, :before_filters_time=>8.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000444, :before_filters_time=>9.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00027, :before_filters_time=>8.8e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001126, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000248, :before_filters_time=>6.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000274, :before_filters_time=>9.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000223, :before_filters_time=>8.2e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000741} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000625} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00079} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000973} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000796} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00065} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000943} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001009} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000675} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000694} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000494, :before_filters_time=>0.00012} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000681, :before_filters_time=>0.00013} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00046, :before_filters_time=>0.000107} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001491, :before_filters_time=>0.000136} + ~ {:after_filters_time=>1.0e-05, :action_time=>0.002512, :before_filters_time=>9.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00052, :before_filters_time=>0.000154} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000316, :before_filters_time=>9.2e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000466, :before_filters_time=>0.000101} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000255, :before_filters_time=>8.2e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00116, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000204, :before_filters_time=>6.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000557, :before_filters_time=>0.000116} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000234, :before_filters_time=>8.6e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000753} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00062} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000721} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000682} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000769} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000714} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000715} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000693} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000672} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000653} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000455, :before_filters_time=>0.000106} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000535, :before_filters_time=>0.00012} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000426, :before_filters_time=>0.0001} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00041, :before_filters_time=>9.4e-05} + ~ {:after_filters_time=>1.2e-05, :action_time=>0.001958, :before_filters_time=>9.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000436, :before_filters_time=>0.00011} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000278, :before_filters_time=>8.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000435, :before_filters_time=>9.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000262, :before_filters_time=>8.3e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001456, :before_filters_time=>8.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00021, :before_filters_time=>6.2e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000626, :before_filters_time=>0.000161} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000242, :before_filters_time=>9.6e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000768} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000627} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001007} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.003979} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.1e-05, :action_time=>0.002915} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000917} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000859} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000871} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000763} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001095} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000478, :before_filters_time=>0.000112} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001697, :before_filters_time=>0.000113} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000436, :before_filters_time=>0.000107} + ~ {:after_filters_time=>1.1e-05, :action_time=>0.002905, :before_filters_time=>0.000164} + ~ {:after_filters_time=>1.0e-05, :action_time=>0.002909, :before_filters_time=>0.000122} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000467, :before_filters_time=>0.000112} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00031, :before_filters_time=>0.000101} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000506, :before_filters_time=>0.000121} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00034, :before_filters_time=>0.000106} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001289, :before_filters_time=>8.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00024, :before_filters_time=>7.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000303, :before_filters_time=>0.00011} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000223, :before_filters_time=>8.1e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000731} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000614} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000645} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000609} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000814} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000709} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00078} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000846} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00065} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000637} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000441, :before_filters_time=>0.000106} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000498, :before_filters_time=>0.000109} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000457, :before_filters_time=>0.000109} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000464, :before_filters_time=>9.9e-05} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.00198, :before_filters_time=>0.000101} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000444, :before_filters_time=>0.000104} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000306, :before_filters_time=>9.0e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000471, :before_filters_time=>0.000106} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000256, :before_filters_time=>8.1e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001207, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000209, :before_filters_time=>6.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000271, :before_filters_time=>9.7e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000255, :before_filters_time=>0.000102} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000712} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>0.000871, :action_time=>0.002056} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000719} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000945} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000866} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000784} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000748} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000737} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000627} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000826} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000527, :before_filters_time=>0.000112} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000498, :before_filters_time=>0.000107} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000412, :before_filters_time=>9.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000374, :before_filters_time=>8.4e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.00193, :before_filters_time=>0.000103} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000855, :before_filters_time=>0.000107} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000281, :before_filters_time=>9.0e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000934, :before_filters_time=>9.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000255, :before_filters_time=>8.0e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001559, :before_filters_time=>0.000102} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000227, :before_filters_time=>6.6e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000349, :before_filters_time=>0.000119} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000255, :before_filters_time=>9.2e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000812} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000833} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>2.5e-05, :action_time=>0.001407} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000751} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000921} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000825} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.000934} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00075} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000769} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000668} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000444, :before_filters_time=>0.000105} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000488, :before_filters_time=>0.000108} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000382, :before_filters_time=>8.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000388, :before_filters_time=>8.7e-05} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.002028, :before_filters_time=>0.0001} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000928, :before_filters_time=>0.000112} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000316, :before_filters_time=>9.3e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000509, :before_filters_time=>0.000112} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000258, :before_filters_time=>8.2e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001194, :before_filters_time=>9.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000222, :before_filters_time=>6.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000296, :before_filters_time=>0.000107} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000226, :before_filters_time=>8.2e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>3.1e-05, :action_time=>0.000872} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000756} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000721} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000716} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000804} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001097} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.00071} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000675} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000906} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000746} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000444, :before_filters_time=>0.000102} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000539, :before_filters_time=>0.000133} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000513, :before_filters_time=>0.000129} + ~ {:after_filters_time=>5.7e-05, :action_time=>0.000507, :before_filters_time=>0.0001} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001851, :before_filters_time=>0.000101} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00044, :before_filters_time=>0.000121} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000348, :before_filters_time=>0.000132} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000549, :before_filters_time=>0.000112} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000263, :before_filters_time=>8.5e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00125, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000355, :before_filters_time=>6.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000303, :before_filters_time=>0.000109} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000221, :before_filters_time=>8.1e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000919} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000682} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000648} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000879} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000749} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000686} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000659} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000658} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000717} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000654} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000451, :before_filters_time=>0.000107} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000691, :before_filters_time=>0.000109} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000437, :before_filters_time=>0.000101} + ~ {:after_filters_time=>1.1e-05, :action_time=>0.000555, :before_filters_time=>0.000105} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001949, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000483, :before_filters_time=>0.000143} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000286, :before_filters_time=>8.3e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000617, :before_filters_time=>0.00017} + ~ Redirecting to: /registrations + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001029, :before_filters_time=>0.00012} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001185, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00023, :before_filters_time=>6.7e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000334, :before_filters_time=>0.000146} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000925, :before_filters_time=>0.000755} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000901} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000671} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000684} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000759} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000883} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000662} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000646} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000669} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000684} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000794} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000444, :before_filters_time=>0.0001} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000646, :before_filters_time=>0.000219} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000383, :before_filters_time=>8.7e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000424, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001868, :before_filters_time=>8.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000518, :before_filters_time=>0.000105} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000277, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001104, :before_filters_time=>0.000196} + ~ Redirecting to: /registrations + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000734, :before_filters_time=>7.9e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001265, :before_filters_time=>0.000129} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000218, :before_filters_time=>6.5e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.0003, :before_filters_time=>0.000105} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000243, :before_filters_time=>8.9e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000781} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000685} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000667} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000628} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001379} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00067} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.7e-05, :action_time=>0.000802} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000738} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000634} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.00092} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00056, :before_filters_time=>0.000135} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000491, :before_filters_time=>0.000109} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000438, :before_filters_time=>9.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000431, :before_filters_time=>0.0001} + ~ {:after_filters_time=>9.0e-06, :action_time=>0.002424, :before_filters_time=>9.0e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000421, :before_filters_time=>0.000102} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000295, :before_filters_time=>8.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000456, :before_filters_time=>9.8e-05} + ~ Redirecting to: /registrations + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001068, :before_filters_time=>0.000101} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001219, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000214, :before_filters_time=>6.3e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000295, :before_filters_time=>0.000106} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000228, :before_filters_time=>8.3e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000868} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000644} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000644} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000667} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000871} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000761} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000676} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000656} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00064} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000654} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000502, :before_filters_time=>0.000108} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000508, :before_filters_time=>0.000105} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000458, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000431, :before_filters_time=>9.9e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.002064, :before_filters_time=>9.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000441, :before_filters_time=>0.000105} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000305, :before_filters_time=>8.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000431, :before_filters_time=>9.6e-05} + ~ Redirecting to: /registrations + ~ {:after_filters_time=>8.0e-06, :action_time=>0.00085, :before_filters_time=>0.00018} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001207, :before_filters_time=>0.000103} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00023, :before_filters_time=>6.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000275, :before_filters_time=>9.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000223, :before_filters_time=>8.1e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000734} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000725} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000741} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000604} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.002451} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00073} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000873} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000665} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000648} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001068} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000504, :before_filters_time=>0.000118} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001099, :before_filters_time=>0.000464} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000421, :before_filters_time=>0.000104} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000374, :before_filters_time=>8.5e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001958, :before_filters_time=>8.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000447, :before_filters_time=>0.000104} + ~ true + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000284, :before_filters_time=>8.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000488, :before_filters_time=>0.000105} + ~ Redirecting to: /registrations + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000742, :before_filters_time=>0.0001} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001122, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000191, :before_filters_time=>5.7e-05} + ~ {:after_filters_time=>5.4e-05, :action_time=>0.000335, :before_filters_time=>0.000101} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000234, :before_filters_time=>8.6e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000783} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000646} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000761} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000743} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001054} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.000803} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.0007} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000652} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000716} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000884} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000459, :before_filters_time=>0.000109} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000509, :before_filters_time=>0.000108} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000395, :before_filters_time=>8.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000389, :before_filters_time=>8.9e-05} + ~ {:after_filters_time=>1.0e-05, :action_time=>0.00189, :before_filters_time=>8.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000419, :before_filters_time=>0.0001} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000434, :before_filters_time=>9.2e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000524, :before_filters_time=>0.000124} + ~ Redirecting to: /registrations + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001402, :before_filters_time=>8.2e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001163, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000244, :before_filters_time=>6.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000276, :before_filters_time=>9.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000222, :before_filters_time=>8.1e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000734} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000953} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000676} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000633} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000783} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000771} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00066} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000734} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000763} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000688} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00048, :before_filters_time=>0.000112} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000487, :before_filters_time=>0.000107} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000426, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000398, :before_filters_time=>9.4e-05} + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001949, :before_filters_time=>9.3e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000451, :before_filters_time=>0.000108} + ~ true + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000268, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000428, :before_filters_time=>9.6e-05} + ~ Redirecting to: /registrations + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001116, :before_filters_time=>8.0e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001233, :before_filters_time=>0.000107} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000227, :before_filters_time=>6.7e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000298, :before_filters_time=>0.000107} + ~ {:after_filters_time=>8.8e-05, :action_time=>0.000516, :before_filters_time=>0.000178} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000816} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000824} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000861} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00064} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000842} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000716} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000733} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000644} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000755} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000844} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000506, :before_filters_time=>0.000107} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000521, :before_filters_time=>0.000115} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000441, :before_filters_time=>0.000104} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000421, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001869, :before_filters_time=>8.9e-05} + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000416, :before_filters_time=>0.0001} + ~ true + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000272, :before_filters_time=>8.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000432, :before_filters_time=>9.7e-05} + ~ Redirecting to: /registrations + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000825, :before_filters_time=>8.2e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.020717, :before_filters_time=>0.000169, :after_filters_time=>1.6e-05} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.001096, :after_filters_time=>1.2e-05} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000893, :after_filters_time=>1.6e-05} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000935, :after_filters_time=>1.1e-05} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000887, :after_filters_time=>9.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000974, :after_filters_time=>1.0e-05} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.001237, :after_filters_time=>1.1e-05} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.001156, :after_filters_time=>9.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.001017, :after_filters_time=>1.0e-05} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000897, :after_filters_time=>9.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000958, :after_filters_time=>9.0e-06} + ~ {:action_time=>0.012368, :before_filters_time=>9.5e-05, :after_filters_time=>2.8e-05} + ~ Redirecting to: /registrations + ~ {:action_time=>0.013279, :before_filters_time=>0.000139, :after_filters_time=>1.2e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>1.6e-05, :action_time=>0.018154, :before_filters_time=>0.000115} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000948} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000695} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.00098} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000709} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000712} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000664} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000893} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000667} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000658} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000665} + ~ {:after_filters_time=>1.3e-05, :action_time=>0.008128, :before_filters_time=>5.9e-05} + ~ Redirecting to: /registrations + ~ {:after_filters_time=>8.0e-06, :action_time=>0.01043, :before_filters_time=>9.8e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000803} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000639} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000769} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00068} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000793} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000734} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000793} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000664} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000637} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000988} + ~ {:after_filters_time=>1.3e-05, :action_time=>0.006907, :before_filters_time=>6.1e-05} + ~ Redirecting to: /registrations + ~ {:after_filters_time=>1.2e-05, :action_time=>0.011456, :before_filters_time=>0.000101} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001093, :before_filters_time=>7.5e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000782} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000606} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000799} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000826} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000707} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.000872} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000781} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000667} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000733} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000723} + ~ {:after_filters_time=>1.0e-05, :action_time=>0.004191, :before_filters_time=>5.9e-05} + ~ Redirecting to: /registrations + ~ {:after_filters_time=>8.0e-06, :action_time=>0.01241, :before_filters_time=>0.000103} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001085, :before_filters_time=>7.3e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000792} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00061} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.0008} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000701} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000789} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000735} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000783} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000665} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000654} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000645} + ~ {:after_filters_time=>1.7e-05, :action_time=>0.00578, :before_filters_time=>6.0e-05} + ~ Redirecting to: /registrations + ~ {:after_filters_time=>1.0e-05, :action_time=>0.010708, :before_filters_time=>0.000101} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001094, :before_filters_time=>7.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000189, :before_filters_time=>5.6e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.000827} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000669} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00067} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000619} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000693} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000646} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000794} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00089} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000674} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000655} + ~ {:after_filters_time=>1.5e-05, :action_time=>0.006622, :before_filters_time=>6.2e-05} + ~ Redirecting to: /registrations + ~ {:after_filters_time=>1.3e-05, :action_time=>0.025291, :before_filters_time=>0.000102} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001145, :before_filters_time=>7.4e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000231, :before_filters_time=>5.5e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000776} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000638} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000652} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000613} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000694} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000691} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000685} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.033133} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000752} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000653} + ~ {:after_filters_time=>1.4e-05, :action_time=>0.006587, :before_filters_time=>7.0e-05} + ~ Redirecting to: /registrations + ~ {:after_filters_time=>1.3e-05, :action_time=>0.012077, :before_filters_time=>0.000109} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001087, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000206, :before_filters_time=>5.8e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000764} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000612} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000667} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000758} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.0008} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000761} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000657} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.033464} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000838} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000697} + ~ {:after_filters_time=>1.8e-05, :action_time=>0.006827, :before_filters_time=>5.8e-05} + ~ Redirecting to: /registrations + ~ {:after_filters_time=>9.0e-06, :action_time=>0.010973, :before_filters_time=>0.0002} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001143, :before_filters_time=>7.9e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000199, :before_filters_time=>5.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000289, :before_filters_time=>9.9e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000804} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000643} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000795} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000656} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000683} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00064} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000766} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000799} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000687} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000923} + ~ {:after_filters_time=>1.7e-05, :action_time=>0.00672, :before_filters_time=>5.8e-05} + ~ Redirecting to: /registrations + ~ {:after_filters_time=>1.9e-05, :action_time=>0.011274, :before_filters_time=>0.000101} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001089, :before_filters_time=>7.5e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000243, :before_filters_time=>6.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000271, :before_filters_time=>9.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000214, :before_filters_time=>7.9e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000771} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000623} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000725} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000668} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000685} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000627} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000634} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.3e-05, :action_time=>0.032819} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000724} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000649} + ~ {:after_filters_time=>1.9e-05, :action_time=>0.00807, :before_filters_time=>6.2e-05} + ~ Redirecting to: /registrations + ~ {:after_filters_time=>1.4e-05, :action_time=>0.018147, :before_filters_time=>0.00032} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001168, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00019, :before_filters_time=>5.6e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000257, :before_filters_time=>9.2e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000214, :before_filters_time=>7.9e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000909} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.0007} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001089} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000767} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000703} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00064} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000644} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.032875} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00081} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.00083} + ~ {:after_filters_time=>1.4e-05, :action_time=>0.006265, :before_filters_time=>6.3e-05} + ~ Redirecting to: /registrations + ~ {:after_filters_time=>3.6e-05, :action_time=>0.013651, :before_filters_time=>0.00011} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001105, :before_filters_time=>8.2e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00021, :before_filters_time=>6.0e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000295, :before_filters_time=>0.000118} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000225, :before_filters_time=>8.1e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000714} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000593} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000668} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00071} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000684} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.0007} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000689} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000725} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000677} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000823} + ~ {:after_filters_time=>1.5e-05, :action_time=>0.006682, :before_filters_time=>7.2e-05} + ~ Redirecting to: /registrations + ~ {:after_filters_time=>8.0e-06, :action_time=>0.010765, :before_filters_time=>0.000101} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001186, :before_filters_time=>7.8e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000211, :before_filters_time=>6.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000271, :before_filters_time=>9.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000226, :before_filters_time=>8.0e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00074} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00062} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000714} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000621} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000713} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000658} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000698} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000637} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000643} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000782} + ~ {:after_filters_time=>1.4e-05, :action_time=>0.005819, :before_filters_time=>6.1e-05} + ~ Redirecting to: /registrations + ~ {:after_filters_time=>1.3e-05, :action_time=>0.015373, :before_filters_time=>0.000337} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001187, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000209, :before_filters_time=>6.1e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000268, :before_filters_time=>9.6e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000221, :before_filters_time=>8.1e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000968} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000606} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000657} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000619} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000679} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000712} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000817} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00066} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000654} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.000894} + ~ {:after_filters_time=>1.4e-05, :action_time=>0.00686, :before_filters_time=>6.2e-05} + ~ Redirecting to: /registrations + ~ {:after_filters_time=>1.0e-05, :action_time=>0.013551, :before_filters_time=>0.000103} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001216, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000191, :before_filters_time=>5.4e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000261, :before_filters_time=>9.4e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000215, :before_filters_time=>7.8e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000731} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000596} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001132} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001335} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000782} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000778} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000634} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000937} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000644} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001234} + ~ {:after_filters_time=>1.4e-05, :action_time=>0.008339, :before_filters_time=>6.1e-05} + ~ Redirecting to: /registrations + ~ {:after_filters_time=>1.3e-05, :action_time=>0.012106, :before_filters_time=>0.000108} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001103, :before_filters_time=>7.4e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000244, :before_filters_time=>6.1e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000286, :before_filters_time=>9.9e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000222, :before_filters_time=>8.0e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000724} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000617} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000643} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000634} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000785} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000672} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00065} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000664} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000648} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000794} + ~ {:after_filters_time=>1.6e-05, :action_time=>0.008091, :before_filters_time=>6.4e-05} + ~ Redirecting to: /registrations + ~ {:after_filters_time=>1.2e-05, :action_time=>0.01343, :before_filters_time=>0.000107} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001104, :before_filters_time=>7.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000228, :before_filters_time=>5.7e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000272, :before_filters_time=>9.5e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000221, :before_filters_time=>8.0e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000878} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000695} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000681} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00069} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000686} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000646} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000703} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000707} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000639} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000825} + ~ {:after_filters_time=>1.0e-05, :action_time=>0.004574, :before_filters_time=>6.7e-05} + ~ Redirecting to: /registrations + ~ {:after_filters_time=>1.6e-05, :action_time=>0.011203, :before_filters_time=>0.000101} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00109, :before_filters_time=>7.6e-05} + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000219, :before_filters_time=>7.4e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000277, :before_filters_time=>9.8e-05} + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000224, :before_filters_time=>8.2e-05} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001115} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000723} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000795} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001188} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000798} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001574} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>3.9e-05, :action_time=>0.000756} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000636} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00064} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.0008} + ~ {:after_filters_time=>1.5e-05, :action_time=>0.006128, :before_filters_time=>6.1e-05} + ~ Redirecting to: /registrations + ~ {:after_filters_time=>1.3e-05, :action_time=>0.011866, :before_filters_time=>0.000103} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>8.1e-05, :after_filters_time=>7.0e-06, :action_time=>0.00121} + ~ {:before_filters_time=>5.4e-05, :after_filters_time=>6.0e-06, :action_time=>0.000194} + ~ {:before_filters_time=>0.000109, :after_filters_time=>6.0e-06, :action_time=>0.000549} + ~ {:before_filters_time=>0.000562, :after_filters_time=>5.0e-06, :action_time=>0.000716} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.002718} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>2.6e-05, :action_time=>0.002232} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001498} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000885} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000756} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000858} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.000693} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000684} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000835} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>7.6e-05, :after_filters_time=>1.3e-05, :action_time=>0.001107} + ~ {:before_filters_time=>6.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.000209} + ~ {:before_filters_time=>0.000101, :after_filters_time=>6.0e-06, :action_time=>0.000276} + ~ {:before_filters_time=>8.2e-05, :after_filters_time=>5.0e-06, :action_time=>0.000223} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000946} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000668} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000645} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000683} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000634} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000637} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000735} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000687} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000777} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>7.5e-05, :after_filters_time=>7.0e-06, :action_time=>0.001098} + ~ {:before_filters_time=>6.0e-05, :after_filters_time=>5.0e-06, :action_time=>0.00021} + ~ {:before_filters_time=>9.4e-05, :after_filters_time=>5.0e-06, :action_time=>0.000265} + ~ {:before_filters_time=>7.9e-05, :after_filters_time=>5.0e-06, :action_time=>0.00022} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001155} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000774} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00062} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000678} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00064} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000651} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000642} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000651} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000897} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>7.6e-05, :after_filters_time=>7.0e-06, :action_time=>0.001201} + ~ {:before_filters_time=>9.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.00027} + ~ {:before_filters_time=>0.000111, :after_filters_time=>6.0e-06, :action_time=>0.000303} + ~ {:before_filters_time=>0.000118, :after_filters_time=>6.0e-06, :action_time=>0.000312} + ~ {:before_filters_time=>7.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.000273} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000778} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00069} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.000698} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000673} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000696} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000675} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000685} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001013} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001394} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>7.5e-05, :after_filters_time=>6.0e-06, :action_time=>0.001126} + ~ {:before_filters_time=>5.5e-05, :after_filters_time=>5.0e-06, :action_time=>0.000206} + ~ {:before_filters_time=>0.0001, :after_filters_time=>6.0e-06, :action_time=>0.000282} + ~ {:before_filters_time=>8.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.000235} + ~ {:before_filters_time=>7.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.00028} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000731} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000665} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00062} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00071} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000676} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000711} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000655} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000667} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001062} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>7.6e-05, :after_filters_time=>6.0e-06, :action_time=>0.001097} + ~ {:before_filters_time=>8.9e-05, :after_filters_time=>6.0e-06, :action_time=>0.000261} + ~ {:before_filters_time=>9.8e-05, :after_filters_time=>6.0e-06, :action_time=>0.00028} + ~ {:before_filters_time=>7.9e-05, :after_filters_time=>5.0e-06, :action_time=>0.000221} + ~ {:before_filters_time=>6.5e-05, :after_filters_time=>6.0e-06, :action_time=>0.000285} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000814} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000882} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000693} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000638} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000666} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000674} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00068} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000826} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>7.7e-05, :after_filters_time=>7.0e-06, :action_time=>0.001104} + ~ {:before_filters_time=>6.4e-05, :after_filters_time=>6.0e-06, :action_time=>0.000226} + ~ {:before_filters_time=>0.0001, :after_filters_time=>6.0e-06, :action_time=>0.000276} + ~ {:before_filters_time=>8.0e-05, :after_filters_time=>6.0e-06, :action_time=>0.000223} + ~ {:before_filters_time=>6.7e-05, :after_filters_time=>6.0e-06, :action_time=>0.000256} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000716} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000987} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000686} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000663} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000642} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000674} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000664} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000901} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>7.8e-05, :after_filters_time=>6.0e-06, :action_time=>0.001113} + ~ {:before_filters_time=>6.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.000226} + ~ {:before_filters_time=>9.8e-05, :after_filters_time=>6.0e-06, :action_time=>0.000273} + ~ {:before_filters_time=>8.9e-05, :after_filters_time=>6.0e-06, :action_time=>0.000334} + ~ {:before_filters_time=>6.6e-05, :after_filters_time=>6.0e-06, :action_time=>0.000261} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000722} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000951} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000696} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000643} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000642} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000643} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000697} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000831} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>9.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.001156} + ~ {:before_filters_time=>5.5e-05, :after_filters_time=>6.0e-06, :action_time=>0.000194} + ~ {:before_filters_time=>0.000103, :after_filters_time=>6.0e-06, :action_time=>0.000285} + ~ {:before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06, :action_time=>0.000224} + ~ {:before_filters_time=>6.6e-05, :after_filters_time=>6.0e-06, :action_time=>0.000281} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000745} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000908} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000679} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000632} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000697} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000694} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000646} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000789} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>7.7e-05, :after_filters_time=>6.0e-06, :action_time=>0.001104} + ~ {:before_filters_time=>5.4e-05, :after_filters_time=>5.0e-06, :action_time=>0.000192} + ~ {:before_filters_time=>9.2e-05, :after_filters_time=>5.0e-06, :action_time=>0.000257} + ~ {:before_filters_time=>7.9e-05, :after_filters_time=>6.0e-06, :action_time=>0.000217} + ~ {:before_filters_time=>6.6e-05, :after_filters_time=>6.0e-06, :action_time=>0.000256} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>0.000148, :action_time=>0.000915} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.002336} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000692} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000678} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000646} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000743} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000679} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.00099} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>7.9e-05, :after_filters_time=>7.0e-06, :action_time=>0.001211} + ~ {:before_filters_time=>5.7e-05, :after_filters_time=>5.0e-06, :action_time=>0.000206} + ~ {:before_filters_time=>9.9e-05, :after_filters_time=>6.0e-06, :action_time=>0.000288} + ~ {:before_filters_time=>8.4e-05, :after_filters_time=>6.0e-06, :action_time=>0.000262} + ~ {:before_filters_time=>6.5e-05, :after_filters_time=>6.0e-06, :action_time=>0.000255} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000807} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.00103} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000724} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000649} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000665} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000635} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000673} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000824} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>7.5e-05, :after_filters_time=>6.0e-06, :action_time=>0.001103} + ~ {:before_filters_time=>6.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.000223} + ~ {:before_filters_time=>9.3e-05, :after_filters_time=>5.0e-06, :action_time=>0.000264} + ~ {:before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06, :action_time=>0.000232} + ~ {:before_filters_time=>6.9e-05, :after_filters_time=>6.0e-06, :action_time=>0.000348} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.002541} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000676} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000673} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000699} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000644} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000669} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000668} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000857} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>7.6e-05, :after_filters_time=>6.0e-06, :action_time=>0.001137} + ~ {:before_filters_time=>6.3e-05, :after_filters_time=>5.0e-06, :action_time=>0.000371} + ~ {:before_filters_time=>9.5e-05, :after_filters_time=>5.0e-06, :action_time=>0.000264} + ~ {:before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06, :action_time=>0.00022} + ~ {:before_filters_time=>7.0e-05, :after_filters_time=>6.0e-06, :action_time=>0.000345} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.001284} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001989} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000718} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00064} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000639} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000657} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000664} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000785} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>7.7e-05, :after_filters_time=>6.0e-06, :action_time=>0.001199} + ~ {:before_filters_time=>6.6e-05, :after_filters_time=>6.0e-06, :action_time=>0.000258} + ~ {:before_filters_time=>0.000104, :after_filters_time=>7.0e-06, :action_time=>0.000324} + ~ {:before_filters_time=>8.2e-05, :after_filters_time=>5.0e-06, :action_time=>0.000232} + ~ {:before_filters_time=>6.6e-05, :after_filters_time=>6.0e-06, :action_time=>0.000345} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000804} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000761} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000641} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000882} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000797} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.000905} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000792} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>7.7e-05, :after_filters_time=>6.0e-06, :action_time=>0.001125} + ~ {:before_filters_time=>5.4e-05, :after_filters_time=>5.0e-06, :action_time=>0.000193} + ~ {:before_filters_time=>9.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.000256} + ~ {:before_filters_time=>7.7e-05, :after_filters_time=>5.0e-06, :action_time=>0.000217} + ~ {:before_filters_time=>6.9e-05, :after_filters_time=>6.0e-06, :action_time=>0.000391} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000904} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000639} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000704} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000646} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000699} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.002321} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>9.0e-06, :action_time=>0.001026} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000816} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>7.7e-05, :after_filters_time=>6.0e-06, :action_time=>0.001125} + ~ {:before_filters_time=>5.8e-05, :after_filters_time=>5.0e-06, :action_time=>0.000209} + ~ {:before_filters_time=>9.6e-05, :after_filters_time=>6.0e-06, :action_time=>0.000273} + ~ {:before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06, :action_time=>0.000222} + ~ {:before_filters_time=>7.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.000352} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.001876} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000913} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00069} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000645} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00065} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000653} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000659} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000787} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001114, :before_filters_time=>7.9e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000236, :before_filters_time=>6.0e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000284, :before_filters_time=>9.7e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000227, :before_filters_time=>8.0e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.00034, :before_filters_time=>6.8e-05, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.00075, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.00094, :after_filters_time=>8.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000932, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000641, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000661, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000653, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.033754, :after_filters_time=>9.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000709, :after_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001127, :before_filters_time=>7.6e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.00019, :before_filters_time=>5.4e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000632, :before_filters_time=>0.000112, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000225, :before_filters_time=>8.3e-05, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000734, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000662, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000746, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000695, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000804, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000659, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.035293, :after_filters_time=>9.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000808, :after_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001147, :before_filters_time=>7.9e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000197, :before_filters_time=>5.6e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000271, :before_filters_time=>9.5e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000221, :before_filters_time=>7.9e-05, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000738, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000671, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000653, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.00109, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000664, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000721, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.032712, :after_filters_time=>8.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000682, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001112, :before_filters_time=>7.9e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000208, :before_filters_time=>6.0e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000276, :before_filters_time=>9.8e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000227, :before_filters_time=>8.6e-05, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.001328, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.001699, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.00067, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000655, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.00069, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000768, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.031554, :after_filters_time=>9.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000764, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.00133, :before_filters_time=>7.6e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000209, :before_filters_time=>6.0e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000263, :before_filters_time=>9.2e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000227, :before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000738, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000661, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000687, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000641, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000636, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000661, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.031692, :after_filters_time=>9.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000812, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001095, :before_filters_time=>7.3e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000279, :before_filters_time=>0.000103, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000358, :before_filters_time=>0.000175, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000231, :before_filters_time=>8.4e-05, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.001033, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000811, :after_filters_time=>8.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000687, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000743, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000784, :after_filters_time=>8.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000717, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000657, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000677, :after_filters_time=>2.1e-05} + ~ Redirecting to: /registrations + ~ {:action_time=>0.012898, :before_filters_time=>0.000101, :after_filters_time=>1.3e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001182, :before_filters_time=>7.5e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.00026, :before_filters_time=>9.0e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000271, :before_filters_time=>9.5e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.00022, :before_filters_time=>8.1e-05, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000722, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.001655, :after_filters_time=>1.1e-05} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000795, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000657, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.00101, :after_filters_time=>8.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000645, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000661, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000632, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000458, :before_filters_time=>5.9e-05, :after_filters_time=>7.0e-06} + ~ Redirecting to: /registrations + ~ {:action_time=>0.01087, :before_filters_time=>0.0001, :after_filters_time=>1.5e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001133, :before_filters_time=>7.6e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000217, :before_filters_time=>5.8e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000321, :before_filters_time=>0.000142, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000269, :before_filters_time=>8.3e-05, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.002349, :after_filters_time=>8.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.002116, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000718, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000662, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000874, :after_filters_time=>8.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000814, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000778, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000657, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000453, :before_filters_time=>6.0e-05, :after_filters_time=>6.0e-06} + ~ Redirecting to: /registrations + ~ {:action_time=>0.011919, :before_filters_time=>0.000106, :after_filters_time=>1.4e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001138, :before_filters_time=>8.1e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.00027, :before_filters_time=>9.1e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.00034, :before_filters_time=>0.000154, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000232, :before_filters_time=>8.3e-05, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000725, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000674, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000673, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000648, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000794, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000683, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.001092, :after_filters_time=>2.8e-05} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000675, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000431, :before_filters_time=>5.6e-05, :after_filters_time=>6.0e-06} + ~ Redirecting to: /registrations + ~ {:action_time=>0.01182, :before_filters_time=>0.000101, :after_filters_time=>1.4e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001111, :before_filters_time=>7.5e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000213, :before_filters_time=>6.0e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000268, :before_filters_time=>9.4e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.00022, :before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.004072, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.001658, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000697, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000702, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000781, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000687, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000683, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000646, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000464, :before_filters_time=>6.1e-05, :after_filters_time=>6.0e-06} + ~ Redirecting to: /registrations + ~ {:action_time=>0.013907, :before_filters_time=>0.000155, :after_filters_time=>1.3e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001084, :before_filters_time=>7.4e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000192, :before_filters_time=>5.4e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000279, :before_filters_time=>9.7e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000332, :before_filters_time=>0.000128, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.00103, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000643, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.002273, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000804, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000861, :after_filters_time=>8.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000654, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000716, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000638, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000449, :before_filters_time=>6.0e-05, :after_filters_time=>6.0e-06} + ~ true + ~ {:action_time=>0.000271, :before_filters_time=>7.8e-05, :after_filters_time=>6.0e-06} + ~ Redirecting to: /registrations + ~ {:action_time=>0.012385, :before_filters_time=>0.000107, :after_filters_time=>1.5e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.0011, :before_filters_time=>7.4e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000211, :before_filters_time=>6.0e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000265, :before_filters_time=>9.1e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000218, :before_filters_time=>7.9e-05, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.001231, :after_filters_time=>8.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000663, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000674, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000658, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000817, :after_filters_time=>8.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000689, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000658, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000629, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000458, :before_filters_time=>5.9e-05, :after_filters_time=>7.0e-06} + ~ true + ~ {:action_time=>0.000344, :before_filters_time=>0.00012, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.018343, :before_filters_time=>0.000105, :after_filters_time=>1.1e-05} + ~ Redirecting to: /registrations + ~ {:action_time=>0.01114, :before_filters_time=>0.000103, :after_filters_time=>1.2e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001092, :before_filters_time=>7.5e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000249, :before_filters_time=>5.9e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000264, :before_filters_time=>9.2e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000217, :before_filters_time=>7.8e-05, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000726, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.002063, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.00073, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000736, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000845, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000669, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000673, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000696, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.00047, :before_filters_time=>5.9e-05, :after_filters_time=>6.0e-06} + ~ true + ~ {:action_time=>0.000458, :before_filters_time=>0.000119, :after_filters_time=>8.0e-06} + ~ {:action_time=>0.009419, :before_filters_time=>9.2e-05, :after_filters_time=>1.6e-05} + ~ Redirecting to: /registrations + ~ {:action_time=>0.01388, :before_filters_time=>0.000157, :after_filters_time=>1.2e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.00109, :before_filters_time=>7.4e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000191, :before_filters_time=>5.5e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000257, :before_filters_time=>9.1e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000219, :before_filters_time=>7.8e-05, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000755, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000656, :after_filters_time=>8.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000678, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000645, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000784, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000791, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000657, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000661, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000631, :before_filters_time=>6.9e-05, :after_filters_time=>7.0e-06} + ~ true + ~ {:action_time=>0.000326, :before_filters_time=>0.000128, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.00953500000000007, :before_filters_time=>0.000366, :after_filters_time=>1.6e-05} + ~ Redirecting to: /registrations + ~ {:action_time=>0.015291, :before_filters_time=>0.00016, :after_filters_time=>1.4e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001122, :before_filters_time=>7.5e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000192, :before_filters_time=>5.6e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000879, :before_filters_time=>0.000464, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000288, :before_filters_time=>8.9e-05, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000718, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000918, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000686, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000755, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000803, :after_filters_time=>8.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000699, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.001174, :after_filters_time=>8.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.00071, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.00066, :before_filters_time=>6.8e-05, :after_filters_time=>6.0e-06} + ~ true + ~ {:action_time=>0.000279, :before_filters_time=>7.9e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.007892, :before_filters_time=>0.000107, :after_filters_time=>1.0e-05} + ~ Redirecting to: /registrations + ~ {:action_time=>0.02495, :before_filters_time=>0.000727, :after_filters_time=>8.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001095, :before_filters_time=>7.5e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000248, :before_filters_time=>8.3e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.00028, :before_filters_time=>9.8e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000244, :before_filters_time=>0.0001, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000956, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.002877, :after_filters_time=>1.3e-05} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.00075, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000711, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000846, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000868, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.00067, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000655, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000453, :before_filters_time=>5.9e-05, :after_filters_time=>7.0e-06} + ~ true + ~ {:action_time=>0.000438, :before_filters_time=>0.00011, :after_filters_time=>8.0e-06} + ~ {:action_time=>0.013376, :before_filters_time=>0.000104, :after_filters_time=>1.4e-05} + ~ Redirecting to: /registrations + ~ {:action_time=>0.011393, :before_filters_time=>0.000162, :after_filters_time=>9.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.0011, :before_filters_time=>7.5e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000191, :before_filters_time=>5.5e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.00028, :before_filters_time=>9.7e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000257, :before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.003811, :after_filters_time=>8.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.001749, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000686, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000655, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.00087, :after_filters_time=>8.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000807, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000656, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000642, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000447, :before_filters_time=>5.8e-05, :after_filters_time=>6.0e-06} + ~ true + ~ {:action_time=>0.000324, :before_filters_time=>7.8e-05, :after_filters_time=>1.9e-05} + ~ {:action_time=>0.016705, :before_filters_time=>0.000126, :after_filters_time=>1.0e-05} + ~ Redirecting to: /registrations + ~ {:action_time=>0.011184, :before_filters_time=>0.000121, :after_filters_time=>1.3e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001096, :before_filters_time=>7.5e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000193, :before_filters_time=>5.4e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000267, :before_filters_time=>9.5e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000243, :before_filters_time=>8.7e-05, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.002316, :after_filters_time=>8.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000637, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000695, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.00073, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000796, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000709, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000787, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000666, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000454, :before_filters_time=>5.8e-05, :after_filters_time=>6.0e-06} + ~ true + ~ {:action_time=>0.000703, :before_filters_time=>0.000118, :after_filters_time=>9.0e-06} + ~ {:action_time=>0.011703, :before_filters_time=>0.000122, :after_filters_time=>1.6e-05} + ~ Redirecting to: /registrations + ~ {:action_time=>0.012201, :before_filters_time=>0.000134, :after_filters_time=>1.6e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.0011, :before_filters_time=>8.4e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000244, :before_filters_time=>6.0e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000267, :before_filters_time=>9.3e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000221, :before_filters_time=>7.8e-05, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.001029, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000646, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000706, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000678, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000807, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000792, :after_filters_time=>8.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000681, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.00065, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000457, :before_filters_time=>6.0e-05, :after_filters_time=>6.0e-06} + ~ true + ~ {:action_time=>0.000277, :before_filters_time=>8.0e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.01929, :before_filters_time=>9.1e-05, :after_filters_time=>1.4e-05} + ~ Redirecting to: /registrations + ~ {:action_time=>0.012431, :before_filters_time=>0.000112, :after_filters_time=>1.4e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001097, :before_filters_time=>7.3e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000262, :before_filters_time=>6.3e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000283, :before_filters_time=>9.7e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.00022, :before_filters_time=>7.9e-05, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.001031, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000944, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000838, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000662, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.001063, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000734, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000671, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000745, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000451, :before_filters_time=>6.0e-05, :after_filters_time=>6.0e-06} + ~ true + ~ {:action_time=>0.00048, :before_filters_time=>0.000118, :after_filters_time=>8.0e-06} + ~ {:action_time=>0.014504, :before_filters_time=>9.5e-05, :after_filters_time=>1.8e-05} + ~ Redirecting to: /registrations + ~ {:action_time=>0.001242, :before_filters_time=>0.000193, :after_filters_time=>1.1e-05} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>6.8e-05, :after_filters_time=>7.0e-06, :action_time=>0.001616} + ~ true + ~ {:before_filters_time=>7.6e-05, :after_filters_time=>7.0e-06, :action_time=>0.00027} + ~ Redirecting to: /registrations + ~ {:before_filters_time=>7.6e-05, :after_filters_time=>7.0e-06, :action_time=>0.000793} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.00109, :before_filters_time=>7.5e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000202, :before_filters_time=>5.8e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000271, :before_filters_time=>9.4e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000334, :before_filters_time=>8.6e-05, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000767, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000636, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000732, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000719, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000948, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000696, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000658, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000733, :after_filters_time=>1.3e-05} + ~ {:action_time=>0.000502, :before_filters_time=>6.1e-05, :after_filters_time=>6.0e-06} + ~ true + ~ {:action_time=>0.000273, :before_filters_time=>7.7e-05, :after_filters_time=>7.0e-06} + ~ Redirecting to: /registrations + ~ {:action_time=>0.000699, :before_filters_time=>7.5e-05, :after_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>6.9e-05, :after_filters_time=>8.0e-06, :action_time=>0.001324} + ~ true + ~ {:before_filters_time=>8.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.000318} + ~ {:before_filters_time=>9.6e-05, :after_filters_time=>7.0e-06, :action_time=>0.000395} + ~ Redirecting to: /registrations + ~ {:before_filters_time=>0.000102, :after_filters_time=>8.0e-06, :action_time=>0.000865} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>6.9e-05, :after_filters_time=>8.0e-06, :action_time=>0.001527} + ~ true + ~ {:before_filters_time=>0.000266, :after_filters_time=>7.0e-06, :action_time=>0.000479} + ~ {:before_filters_time=>9.3e-05, :after_filters_time=>6.0e-06, :action_time=>0.000386} + ~ Redirecting to: /registrations + ~ {:before_filters_time=>0.000104, :after_filters_time=>9.0e-06, :action_time=>0.000884} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001106, :before_filters_time=>7.7e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000196, :before_filters_time=>5.5e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000267, :before_filters_time=>9.4e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.00022, :before_filters_time=>8.1e-05, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.00073, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000663, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000667, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000638, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000647, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000658, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.036345, :after_filters_time=>1.0e-05} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000853, :after_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>7.6e-05, :after_filters_time=>5.0e-06, :action_time=>0.001087} + ~ {:before_filters_time=>8.4e-05, :after_filters_time=>5.0e-06, :action_time=>0.000261} + ~ {:before_filters_time=>9.6e-05, :after_filters_time=>6.0e-06, :action_time=>0.000265} + ~ {:before_filters_time=>8.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.000226} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000744} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000737} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000679} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00064} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000654} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000648} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000659} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000664} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>8.0e-05, :after_filters_time=>6.0e-06, :action_time=>0.001244} + ~ {:before_filters_time=>5.5e-05, :after_filters_time=>6.0e-06, :action_time=>0.000224} + ~ {:before_filters_time=>9.6e-05, :after_filters_time=>6.0e-06, :action_time=>0.000268} + ~ {:before_filters_time=>8.8e-05, :after_filters_time=>6.0e-06, :action_time=>0.00024} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000733} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000678} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000684} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000634} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000643} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000645} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000665} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000648} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>7.4e-05, :after_filters_time=>6.0e-06, :action_time=>0.001094} + ~ {:before_filters_time=>7.7e-05, :after_filters_time=>5.0e-06, :action_time=>0.000252} + ~ {:before_filters_time=>0.000155, :after_filters_time=>6.0e-06, :action_time=>0.000373} + ~ {:before_filters_time=>8.1e-05, :after_filters_time=>5.0e-06, :action_time=>0.000224} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000747} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000682} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000684} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000757} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000655} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00064} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.00069} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00066} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>7.4e-05, :after_filters_time=>6.0e-06, :action_time=>0.001086} + ~ {:before_filters_time=>6.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.000216} + ~ {:before_filters_time=>9.3e-05, :after_filters_time=>7.0e-06, :action_time=>0.000325} + ~ {:before_filters_time=>7.9e-05, :after_filters_time=>5.0e-06, :action_time=>0.000221} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000903} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000719} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000681} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000635} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000637} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000639} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000763} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000671} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>7.6e-05, :after_filters_time=>6.0e-06, :action_time=>0.001098} + ~ {:before_filters_time=>5.5e-05, :after_filters_time=>5.0e-06, :action_time=>0.000198} + ~ {:before_filters_time=>0.000101, :after_filters_time=>5.0e-06, :action_time=>0.000273} + ~ {:before_filters_time=>7.9e-05, :after_filters_time=>5.0e-06, :action_time=>0.000219} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000994} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000691} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000682} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00066} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000631} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000747} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000665} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000679} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>7.5e-05, :after_filters_time=>6.0e-06, :action_time=>0.001106} + ~ {:before_filters_time=>5.7e-05, :after_filters_time=>6.0e-06, :action_time=>0.000204} + ~ {:before_filters_time=>9.6e-05, :after_filters_time=>6.0e-06, :action_time=>0.000268} + ~ {:before_filters_time=>0.000106, :after_filters_time=>5.0e-06, :action_time=>0.000265} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000745} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>8.0e-06, :action_time=>0.001262} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000812} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000646} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000753} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000699} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000696} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.00068} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001297, :before_filters_time=>8.5e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000347, :before_filters_time=>6.5e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000277, :before_filters_time=>9.6e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000248, :before_filters_time=>9.5e-05, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000741, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.001006, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000742, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000751, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000672, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.00067, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.033112, :after_filters_time=>9.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000719, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001158, :before_filters_time=>7.8e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000206, :before_filters_time=>5.9e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000277, :before_filters_time=>9.7e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000266, :before_filters_time=>0.000122, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000771, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000677, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.0007, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000712, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.00068, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000661, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.034982, :after_filters_time=>1.1e-05} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000806, :after_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001104, :before_filters_time=>7.8e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000194, :before_filters_time=>5.5e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000282, :before_filters_time=>9.9e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000216, :before_filters_time=>7.8e-05, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000732, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.001017, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000697, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000629, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000714, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000652, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.031941, :after_filters_time=>9.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000819, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001105, :before_filters_time=>7.7e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.0002, :before_filters_time=>5.8e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000286, :before_filters_time=>0.0001, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.00022, :before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000735, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000658, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000779, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000649, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000639, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000654, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.033042, :after_filters_time=>9.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000737, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001153, :before_filters_time=>9.3e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000215, :before_filters_time=>5.8e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.00027, :before_filters_time=>9.7e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000224, :before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000786, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.002434, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000927, :after_filters_time=>9.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000696, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000664, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000668, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000656, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000718, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001113, :before_filters_time=>7.7e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000213, :before_filters_time=>5.6e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000272, :before_filters_time=>9.7e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000237, :before_filters_time=>8.2e-05, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.00077, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000671, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000893, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000741, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000678, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000724, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000663, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000641, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>7.2e-05, :after_filters_time=>7.0e-06, :action_time=>0.001514} + ~ true + ~ {:before_filters_time=>7.5e-05, :after_filters_time=>8.0e-06, :action_time=>0.000265} + ~ Redirecting to: /registrations + ~ {:before_filters_time=>8.1e-05, :after_filters_time=>7.0e-06, :action_time=>0.000782} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>7.2e-05, :after_filters_time=>7.0e-06, :action_time=>0.001249} + ~ true + ~ {:before_filters_time=>7.7e-05, :after_filters_time=>6.0e-06, :action_time=>0.000273} + ~ Redirecting to: /registrations + ~ {:before_filters_time=>8.1e-05, :after_filters_time=>1.1e-05, :action_time=>0.000744} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>7.2e-05, :after_filters_time=>7.0e-06, :action_time=>0.001288} + ~ true + ~ {:before_filters_time=>7.7e-05, :after_filters_time=>6.0e-06, :action_time=>0.000304} + ~ {:before_filters_time=>9.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.000309} + ~ Redirecting to: /registrations + ~ {:before_filters_time=>8.9e-05, :after_filters_time=>7.0e-06, :action_time=>0.000768} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>7.2e-05, :after_filters_time=>7.0e-06, :action_time=>0.00132} + ~ true + ~ {:before_filters_time=>7.3e-05, :after_filters_time=>6.0e-06, :action_time=>0.000255} + ~ {:before_filters_time=>9.2e-05, :after_filters_time=>6.0e-06, :action_time=>0.000354} + ~ Redirecting to: /registrations + ~ {:before_filters_time=>7.7e-05, :after_filters_time=>7.0e-06, :action_time=>0.000734} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>7.3e-05, :after_filters_time=>7.0e-06, :action_time=>0.001369} + ~ true + ~ {:before_filters_time=>7.4e-05, :after_filters_time=>6.0e-06, :action_time=>0.000256} + ~ {:before_filters_time=>9.2e-05, :after_filters_time=>7.0e-06, :action_time=>0.000305} + ~ Redirecting to: /registrations + ~ {:before_filters_time=>7.7e-05, :after_filters_time=>7.0e-06, :action_time=>0.000805} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001144, :before_filters_time=>7.5e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000201, :before_filters_time=>5.6e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000277, :before_filters_time=>9.9e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.00023, :before_filters_time=>8.1e-05, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000756, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000747, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000813, :after_filters_time=>8.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000654, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000644000000000089, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000648, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000738, :after_filters_time=>8.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000782, :after_filters_time=>8.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>7.4e-05, :after_filters_time=>7.0e-06, :action_time=>0.001385} + ~ true + ~ {:before_filters_time=>7.4e-05, :after_filters_time=>6.0e-06, :action_time=>0.000256} + ~ {:before_filters_time=>9.6e-05, :after_filters_time=>7.0e-06, :action_time=>0.000315} + ~ Redirecting to: /registrations + ~ {:before_filters_time=>8.0e-05, :after_filters_time=>6.0e-06, :action_time=>0.000793} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:before_filters_time=>7.6e-05, :after_filters_time=>7.0e-06, :action_time=>0.001182} + ~ {:before_filters_time=>5.9e-05, :after_filters_time=>2.1e-05, :action_time=>0.000229} + ~ {:before_filters_time=>0.000116, :after_filters_time=>5.0e-06, :action_time=>0.0003} + ~ {:before_filters_time=>8.1e-05, :after_filters_time=>6.0e-06, :action_time=>0.000228} + ~ {:before_filters_time=>7.5e-05, :after_filters_time=>6.0e-06, :action_time=>0.000295} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000781} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>1.0e-05, :action_time=>0.000728} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>7.0e-06, :action_time=>0.000805} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000722} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>5.0e-06, :action_time=>0.000656} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000651} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000649} + ~ Redirecting to: /openid/consumer + ~ {:after_filters_time=>6.0e-06, :action_time=>0.000651} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001137, :before_filters_time=>9.0e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000204, :before_filters_time=>5.5e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000278, :before_filters_time=>9.8e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000275, :before_filters_time=>0.000124, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000254, :before_filters_time=>7.4e-05, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000738, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000673, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.03303, :after_filters_time=>1.3e-05} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000754, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.00068, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000686, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000667, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000725, :after_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001115, :before_filters_time=>7.8e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000206, :before_filters_time=>5.8e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000274, :before_filters_time=>9.6e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000224, :before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000254, :before_filters_time=>7.4e-05, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.00094, :after_filters_time=>8.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000673, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000859, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000687, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000766, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.00078, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000665, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000668, :after_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.00111, :before_filters_time=>7.6e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000202, :before_filters_time=>5.7e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000318, :before_filters_time=>0.000109, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000235, :before_filters_time=>8.3e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.00027, :before_filters_time=>7.6e-05, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000754, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000767, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.00098, :after_filters_time=>9.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000734, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000682, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000685, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000719, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000694, :after_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001201, :before_filters_time=>7.8e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.0002, :before_filters_time=>5.7e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000263, :before_filters_time=>9.4e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000221, :before_filters_time=>8.0e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000254, :before_filters_time=>7.4e-05, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.00072, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000675, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.001269, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000673, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000668, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000787, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000708, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000742, :after_filters_time=>6.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001152, :before_filters_time=>7.7e-05, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000202, :before_filters_time=>5.7e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000264, :before_filters_time=>9.3e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.00022, :before_filters_time=>7.9e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000259, :before_filters_time=>7.4e-05, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.00073, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000679, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000935, :after_filters_time=>8.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000746, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000705, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000894, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000657, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000667, :after_filters_time=>7.0e-06} + ~ Compiling routes... + ~ Using 'share-nothing' cookie sessions (4kb limit per client) + ~ {:action_time=>0.001206, :before_filters_time=>7.7e-05, :after_filters_time=>8.0e-06} + ~ {:action_time=>0.000202, :before_filters_time=>5.8e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000269, :before_filters_time=>9.5e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000221, :before_filters_time=>7.9e-05, :after_filters_time=>5.0e-06} + ~ {:action_time=>0.000243, :before_filters_time=>7.1e-05, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000795, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000667, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000726, :after_filters_time=>7.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.00064, :after_filters_time=>5.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000782, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000739, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000732, :after_filters_time=>6.0e-06} + ~ Redirecting to: /openid/consumer + ~ {:action_time=>0.000661, :after_filters_time=>6.0e-06} + ~ {:action_time=>0.000546, :before_filters_time=>6.5e-05, :after_filters_time=>8.0e-06} + ~ true + ~ {:action_time=>0.00029, :before_filters_time=>8.4e-05, :after_filters_time=>7.0e-06} + ~ {:action_time=>0.000299, :before_filters_time=>9.2e-05, :after_filters_time=>5.0e-06} + ~ Redirecting to: /registrations + ~ {:action_time=>0.000689, :before_filters_time=>8.6e-05, :after_filters_time=>6.0e-06} diff --git a/packages/chef-server/spec/controllers/nodes_spec.rb b/packages/chef-server/spec/controllers/nodes_spec.rb index 3cf48fdbe2..a86fa4138c 100644 --- a/packages/chef-server/spec/controllers/nodes_spec.rb +++ b/packages/chef-server/spec/controllers/nodes_spec.rb @@ -2,14 +2,14 @@ require File.join(File.dirname(__FILE__), "..", 'spec_helper.rb') describe Nodes, "index action" do it "should get a list of all the nodes" do - Chef::FileStore.should_receive(:list).with("node").and_return(["one"]) + Chef::Node.should_receive(:list).and_return(["one"]) dispatch_to(Nodes, :index) do |c| c.stub!(:display) end end it "should send a list of nodes to display" do - Chef::FileStore.stub!(:list).and_return(["one"]) + Chef::Node.stub!(:list).and_return(["one"]) dispatch_to(Nodes, :index) do |c| c.should_receive(:display).with(["one"]) end @@ -19,7 +19,7 @@ end describe Nodes, "show action" do it "should load a node from the filestore based on the id" do node = stub("Node", :null_object => true) - Chef::FileStore.should_receive(:load).with("node", "bond").once.and_return(node) + Chef::Node.should_receive(:load).with("bond").once.and_return(node) dispatch_to(Nodes, :show, { :id => "bond" }) do |c| c.should_receive(:display).with(node).once.and_return(true) end @@ -27,7 +27,7 @@ describe Nodes, "show action" do it "should return 200 on a well formed request" do node = stub("Node", :null_object => true) - Chef::FileStore.should_receive(:load).with("node", "bond").once.and_return(node) + Chef::Node.should_receive(:load).with("bond").once.and_return(node) controller = dispatch_to(Nodes, :show, { :id => "bond" }) do |c| c.stub!(:display) end @@ -35,7 +35,7 @@ describe Nodes, "show action" do end it "should raise a BadRequest if the id is not found" do - Chef::FileStore.should_receive(:load).with("node", "bond").once.and_raise(RuntimeError) + Chef::Node.should_receive(:load).with("bond").once.and_raise(RuntimeError) lambda { dispatch_to(Nodes, :show, { :id => "bond" }) }.should raise_error(Merb::ControllerExceptions::BadRequest) @@ -45,18 +45,26 @@ end describe Nodes, "create action" do it "should create a node from an inflated object" do mnode = mock("Node", :null_object => true) - mnode.stub!(:name).and_return("one") - Chef::FileStore.should_receive(:store).with("node", "one", mnode).once.and_return(true) - Chef::Queue.should_receive(:send_msg).with(:queue, :node_index, mnode).once.and_return(true) + mnode.stub!(:name).and_return("bond") + mnode.should_receive(:save).once.and_return(true) controller = dispatch_to(Nodes, :create) do |c| - c.stub!(:params).and_return({ "inflated_object" => mnode }) - c.stub!(:display) + c.stub!(:params).and_return({ "inflated_object" => mnode }) + c.stub!(:session).and_return({ + :openid => 'http://localhost/openid/server/node/bond', + :level => :node, + :node_name => "bond", + }) + c.stub!(:display) end controller.status.should eql(202) end it "should raise an exception if it cannot inflate an object" do - lambda { dispatch_to(Nodes, :create) }.should raise_error(Merb::Controller::BadRequest) + lambda { + dispatch_to(Nodes, :create) do |c| + c.stub!(:params).and_return({ }) + end + }.should raise_error(Merb::Controller::BadRequest) end end @@ -65,10 +73,14 @@ describe Nodes, "update action" do mnode = mock("Node", :null_object => true) mnode.stub!(:name).and_return("one") Chef::FileStore.should_receive(:store).with("node", "one", mnode).once.and_return(true) - Chef::Queue.should_receive(:send_msg).with(:queue, :node_index, mnode).once.and_return(true) - controller = dispatch_to(Nodes, :update) do |c| - c.stub!(:params).and_return({ "inflated_object" => mnode }) - c.stub!(:display) + controller = dispatch_to(Nodes, :update, { :id => "one" }) do |c| + c.stub!(:session).and_return({ + :openid => 'http://localhost/openid/server/node/one', + :level => :node, + :node_name => "one", + }) + c.stub!(:params).and_return({ "inflated_object" => mnode }) + c.stub!(:display) end controller.status.should eql(202) end @@ -89,7 +101,6 @@ describe Nodes, "destroy action" do mnode = stub("Node", :null_object => true) Chef::FileStore.should_receive(:load).with("node", "one").once.and_return(mnode) Chef::FileStore.stub!(:delete) - Chef::Queue.stub!(:send_msg) do_destroy end @@ -102,7 +113,6 @@ describe Nodes, "destroy action" do mnode = stub("Node", :null_object => true) Chef::FileStore.stub!(:load).with("node", "one").and_return(mnode) Chef::FileStore.should_receive(:delete).with("node", "one") - Chef::Queue.stub!(:send_msg) do_destroy end @@ -110,7 +120,6 @@ describe Nodes, "destroy action" do mnode = stub("Node", :null_object => true) Chef::FileStore.stub!(:load).with("node", "one").and_return(mnode) Chef::FileStore.stub!(:delete) - Chef::Queue.should_receive(:send_msg).with(:queue, :node_remove, mnode) do_destroy end @@ -118,7 +127,6 @@ describe Nodes, "destroy action" do mnode = stub("Node", :null_object => true) Chef::FileStore.stub!(:load).with("node", "one").and_return(mnode) Chef::FileStore.stub!(:delete) - Chef::Queue.stub!(:send_msg) dispatch_to(Nodes, :destroy, { :id => "one" }) do |c| c.should_receive(:display).once.with(mnode) end @@ -128,7 +136,6 @@ describe Nodes, "destroy action" do mnode = stub("Node", :null_object => true) Chef::FileStore.stub!(:load).with("node", "one").and_return(mnode) Chef::FileStore.stub!(:delete) - Chef::Queue.stub!(:send_msg) controller = do_destroy controller.status.should eql(202) end diff --git a/packages/chef-server/spec/controllers/openid_consumer_spec.rb b/packages/chef-server/spec/controllers/openid_consumer_spec.rb new file mode 100644 index 0000000000..a93cad4191 --- /dev/null +++ b/packages/chef-server/spec/controllers/openid_consumer_spec.rb @@ -0,0 +1,29 @@ +require File.join(File.dirname(__FILE__), "..", 'spec_helper.rb') + +describe OpenidConsumer, "check_valid_openid_provider method" do + it "should confirm the openid provider if the openid_providers config is nil" do + Chef::Config[:openid_providers] = nil + c = OpenidConsumer.new(true) + c.send(:check_valid_openid_provider, "monkeyid").should eql(true) + end + + it "should return true if the openid provider is in openid_providers list" do + Chef::Config[:openid_providers] = [ 'monkeyid' ] + c = OpenidConsumer.new(true) + c.send(:check_valid_openid_provider, "monkeyid").should eql(true) + end + + it "should return true if the openid provider is in openid_providers list with http://" do + Chef::Config[:openid_providers] = [ 'monkeyid' ] + c = OpenidConsumer.new(true) + c.send(:check_valid_openid_provider, "http://monkeyid").should eql(true) + end + + it "should raise an exception if the openid provider is not in openid_providers list" do + Chef::Config[:openid_providers] = [ 'monkeyid' ] + c = OpenidConsumer.new(true) + lambda { + c.send(:check_valid_openid_provider, "monkey") + }.should raise_error(Merb::Controller::Unauthorized) + end +end
\ No newline at end of file diff --git a/packages/chef-server/spec/controllers/openid_register_spec.rb b/packages/chef-server/spec/controllers/openid_register_spec.rb index 2f3a58b287..6822722868 100644 --- a/packages/chef-server/spec/controllers/openid_register_spec.rb +++ b/packages/chef-server/spec/controllers/openid_register_spec.rb @@ -2,7 +2,7 @@ require File.join(File.dirname(__FILE__), "..", 'spec_helper.rb') describe OpenidRegister, "index action" do it "should get a list of all registered nodes" do - Chef::FileStore.should_receive(:list).with("openid_node").and_return(["one"]) + Chef::OpenIDRegistration.should_receive(:list).with(true).and_return(["one"]) dispatch_to(OpenidRegister, :index) do |c| c.stub!(:display) end @@ -11,14 +11,14 @@ end describe OpenidRegister, "show action" do it "should raise a 404 if the nodes registration is not found" do - Chef::FileStore.should_receive(:load).with("openid_node", "foo").and_raise(RuntimeError) + Chef::OpenIDRegistration.should_receive(:load).with("foo").and_raise(RuntimeError) lambda { dispatch_to(OpenidRegister, :show, { :id => "foo" }) }.should raise_error(Merb::ControllerExceptions::NotFound) end it "should call display on the node registration" do - Chef::FileStore.stub!(:load).and_return(true) + Chef::OpenIDRegistration.stub!(:load).and_return(true) dispatch_to(OpenidRegister, :show, { :id => "foo" }) do |c| c.should_receive(:display).with(true) end @@ -45,15 +45,19 @@ describe OpenidRegister, "create action" do end it "should return 400 if a node is already registered" do - Chef::FileStore.should_receive(:has_key?).with("openid_node", "foo").and_return(true) + Chef::OpenIDRegistration.should_receive(:has_key?).with("foo").and_return(true) lambda { dispatch_to(OpenidRegister, :create, { :id => "foo", :password => "beck" }) }.should raise_error(Merb::ControllerExceptions::BadRequest) end - it "should store the registered node in the file store" do - Chef::FileStore.stub!(:has_key?).and_return(false) - Chef::FileStore.should_receive(:store).and_return(true) + it "should store the registration in a new Chef::OpenIDRegistration" do + mock_reg = mock("Chef::OpenIDRegistration", :null_object => true) + mock_reg.should_receive(:name=).with("foo").and_return(true) + mock_reg.should_receive(:set_password).with("beck").and_return(true) + mock_reg.should_receive(:save).and_return(true) + Chef::OpenIDRegistration.stub!(:has_key?).and_return(false) + Chef::OpenIDRegistration.should_receive(:new).and_return(mock_reg) do_create end end @@ -74,15 +78,16 @@ describe OpenidRegister, "destroy action" do end it "should return 400 if it cannot find the registration" do - Chef::FileStore.should_receive(:has_key?).with("openid_node", "foo").and_return(false) + Chef::OpenIDRegistration.should_receive(:load).and_raise(ArgumentError) lambda { do_destroy }.should raise_error(Merb::ControllerExceptions::BadRequest) end it "should delete the registration from the store" do - Chef::FileStore.stub!(:has_key?).and_return(true) - Chef::FileStore.should_receive(:delete).with("openid_node", "foo").and_return(true) + mock_reg = mock("OpenIDRegistration") + mock_reg.should_receive(:destroy).and_return(true) + Chef::OpenIDRegistration.should_receive(:load).with("foo").and_return(mock_reg) do_destroy end end
\ No newline at end of file diff --git a/packages/chef-server/spec/controllers/sessions_spec.rb b/packages/chef-server/spec/controllers/sessions_spec.rb deleted file mode 100644 index afec8f7ab1..0000000000 --- a/packages/chef-server/spec/controllers/sessions_spec.rb +++ /dev/null @@ -1,97 +0,0 @@ -require File.join(File.dirname(__FILE__), '..', 'spec_helper.rb') -require File.join( File.dirname(__FILE__), "..", "ident_spec_helper") -require File.join( File.dirname(__FILE__), "..", "authenticated_system_spec_helper") -require 'cgi' - -describe "Sessions Controller", "index action" do - include IdentSpecHelper - - before(:each) do - Ident.clear_database_table - @quentin = Ident.create(valid_ident_hash.with(:login => "quentin", :password => "test", :password_confirmation => "test")) - @controller = Sessions.new(fake_request) - end - - it "should have a route to Sessions#new from '/login'" do - request_to("/login") do |params| - params[:controller].should == "Sessions" - params[:action].should == "create" - end - end - - it "should route to Sessions#create from '/login' via post" do - request_to("/login", :post) do |params| - params[:controller].should == "Sessions" - params[:action].should == "create" - end - end - - it "should have a named route :login" do - @controller.url(:login).should == "/login" - end - - it "should have route to Sessions#destroy from '/logout' via delete" do - request_to("/logout", :delete) do |params| - params[:controller].should == "Sessions" - params[:action].should == "destroy" - end - end - - it "should route to Sessions#destroy from '/logout' via get" do - request_to("/logout") do |params| - params[:controller].should == "Sessions" - params[:action].should == "destroy" - end - end - - it 'logins and redirects' do - controller = post "/login", :login => 'quentin', :password => 'test' - controller.session[:ident].should_not be_nil - controller.session[:ident].should == @quentin.id - controller.should redirect_to("/") - end - - it 'fails login and does not redirect' do - controller = post "/login", :login => 'quentin', :password => 'bad password' - controller.session[:ident].should be_nil - controller.should be_successful - end - - it 'logs out' do - controller = get("/logout"){|controller| controller.stub!(:current_ident).and_return(@quentin) } - controller.session[:ident].should be_nil - controller.should redirect - end - - it 'remembers me' do - controller = post "/login", :login => 'quentin', :password => 'test', :remember_me => "1" - controller.cookies["auth_token"].should_not be_nil - end - - it 'does not remember me' do - controller = post "/login", :login => 'quentin', :password => 'test', :remember_me => "0" - controller.cookies["auth_token"].should be_nil - end - - it 'deletes token on logout' do - controller = get("/logout") {|request| request.stub!(:current_ident).and_return(@quentin) } - controller.cookies["auth_token"].should == nil - end - - - it 'logs in with cookie' do - @quentin.remember_me - controller = get "/login" do |c| - c.request.env[Merb::Const::HTTP_COOKIE] = "auth_token=#{@quentin.remember_token}" - end - controller.should be_logged_in - end - - def auth_token(token) - CGI::Cookie.new('name' => 'auth_token', 'value' => token) - end - - def cookie_for(ident) - auth_token ident.remember_token - end -end
\ No newline at end of file diff --git a/packages/chef-server/spec/ident_spec_helper.rb b/packages/chef-server/spec/ident_spec_helper.rb deleted file mode 100644 index 17fad80004..0000000000 --- a/packages/chef-server/spec/ident_spec_helper.rb +++ /dev/null @@ -1,8 +0,0 @@ -module IdentSpecHelper - def valid_ident_hash - { :login => "daniel", - :email => "daniel@example.com", - :password => "sekret", - :password_confirmation => "sekret"} - end -end
\ No newline at end of file diff --git a/packages/chef-server/spec/models/ident_spec.rb b/packages/chef-server/spec/models/ident_spec.rb deleted file mode 100644 index 5dd15288bf..0000000000 --- a/packages/chef-server/spec/models/ident_spec.rb +++ /dev/null @@ -1,258 +0,0 @@ -require File.join( File.dirname(__FILE__), "..", "spec_helper" ) -require File.join( File.dirname(__FILE__), "..", "ident_spec_helper") -require File.join( File.dirname(__FILE__), "..", "authenticated_system_spec_helper") - -describe Ident do - include IdentSpecHelper - - before(:each) do - Ident.clear_database_table - end - - it "should have a login field" do - ident = Ident.new - ident.should respond_to(:login) - ident.valid? - ident.errors.on(:login).should_not be_nil - end - - it "should fail login if there are less than 3 chars" do - ident = Ident.new - ident.login = "AB" - ident.valid? - ident.errors.on(:login).should_not be_nil - end - - it "should not fail login with between 3 and 40 chars" do - ident = Ident.new - [3,40].each do |num| - ident.login = "a" * num - ident.valid? - ident.errors.on(:login).should be_nil - end - end - - it "should fail login with over 90 chars" do - ident = Ident.new - ident.login = "A" * 41 - ident.valid? - ident.errors.on(:login).should_not be_nil - end - - it "should make a valid ident" do - ident = Ident.new(valid_ident_hash) - ident.save - ident.errors.should be_empty - - end - - it "should make sure login is unique" do - ident = Ident.new( valid_ident_hash.with(:login => "Daniel") ) - ident2 = Ident.new( valid_ident_hash.with(:login => "Daniel")) - ident.save.should be_true - ident.login = "Daniel" - ident2.save.should be_false - ident2.errors.on(:login).should_not be_nil - end - - it "should make sure login is unique regardless of case" do - Ident.find_with_conditions(:login => "Daniel").should be_nil - ident = Ident.new( valid_ident_hash.with(:login => "Daniel") ) - ident2 = Ident.new( valid_ident_hash.with(:login => "daniel")) - ident.save.should be_true - ident.login = "Daniel" - ident2.save.should be_false - ident2.errors.on(:login).should_not be_nil - end - - it "should downcase logins" do - ident = Ident.new( valid_ident_hash.with(:login => "DaNieL")) - ident.login.should == "daniel" - end - - it "should authenticate a ident using a class method" do - ident = Ident.new(valid_ident_hash) - ident.save - Ident.authenticate(valid_ident_hash[:login], valid_ident_hash[:password]).should_not be_nil - end - - it "should not authenticate a ident using the wrong password" do - ident = Ident.new(valid_ident_hash) - ident.save - Ident.authenticate(valid_ident_hash[:login], "not_the_password").should be_nil - end - - it "should not authenticate a ident using the wrong login" do - ident = Ident.create(valid_ident_hash) - Ident.authenticate("not_the_login", valid_ident_hash[:password]).should be_nil - end - - it "should not authenticate a ident that does not exist" do - Ident.authenticate("i_dont_exist", "password").should be_nil - end - - -end - -describe Ident, "the password fields for Ident" do - include IdentSpecHelper - - before(:each) do - Ident.clear_database_table - @ident = Ident.new( valid_ident_hash ) - end - - it "should respond to password" do - @ident.should respond_to(:password) - end - - it "should respond to password_confirmation" do - @ident.should respond_to(:password_confirmation) - end - - it "should have a protected password_required method" do - @ident.protected_methods.should include("password_required?") - end - - it "should respond to crypted_password" do - @ident.should respond_to(:crypted_password) - end - - it "should require password if password is required" do - ident = Ident.new( valid_ident_hash.without(:password)) - ident.stub!(:password_required?).and_return(true) - ident.valid? - ident.errors.on(:password).should_not be_nil - ident.errors.on(:password).should_not be_empty - end - - it "should set the salt" do - ident = Ident.new(valid_ident_hash) - ident.salt.should be_nil - ident.send(:encrypt_password) - ident.salt.should_not be_nil - end - - it "should require the password on create" do - ident = Ident.new(valid_ident_hash.without(:password)) - ident.save - ident.errors.on(:password).should_not be_nil - ident.errors.on(:password).should_not be_empty - end - - it "should require password_confirmation if the password_required?" do - ident = Ident.new(valid_ident_hash.without(:password_confirmation)) - ident.save - (ident.errors.on(:password) || ident.errors.on(:password_confirmation)).should_not be_nil - end - - it "should fail when password is outside 4 and 40 chars" do - [3,41].each do |num| - ident = Ident.new(valid_ident_hash.with(:password => ("a" * num))) - ident.valid? - ident.errors.on(:password).should_not be_nil - end - end - - it "should pass when password is within 4 and 40 chars" do - [4,30,40].each do |num| - ident = Ident.new(valid_ident_hash.with(:password => ("a" * num), :password_confirmation => ("a" * num))) - ident.valid? - ident.errors.on(:password).should be_nil - end - end - - it "should autenticate against a password" do - ident = Ident.new(valid_ident_hash) - ident.save - ident.should be_authenticated(valid_ident_hash[:password]) - end - - it "should not require a password when saving an existing ident" do - ident = Ident.create(valid_ident_hash) - ident = Ident.find_with_conditions(:login => valid_ident_hash[:login]) - ident.password.should be_nil - ident.password_confirmation.should be_nil - ident.login = "some_different_login_to_allow_saving" - (ident.save).should be_true - end - -end - - -describe Ident, "remember_me" do - include IdentSpecHelper - - predicate_matchers[:remember_token] = :remember_token? - - before do - Ident.clear_database_table - @ident = Ident.new(valid_ident_hash) - end - - it "should have a remember_token_expires_at attribute" do - @ident.attributes.keys.any?{|a| a.to_s == "remember_token_expires_at"}.should_not be_nil - end - - it "should respond to remember_token?" do - @ident.should respond_to(:remember_token?) - end - - it "should return true if remember_token_expires_at is set and is in the future" do - @ident.remember_token_expires_at = DateTime.now + 3600 - @ident.should remember_token - end - - it "should set remember_token_expires_at to a specific date" do - time = Time.mktime(2009,12,25) - @ident.remember_me_until(time) - @ident.remember_token_expires_at.should == time - end - - it "should set the remember_me token when remembering" do - time = Time.mktime(2009,12,25) - @ident.remember_me_until(time) - @ident.remember_token.should_not be_nil - @ident.save - Ident.find_with_conditions(:login => valid_ident_hash[:login]).remember_token.should_not be_nil - end - - it "should remember me for" do - t = Time.now - Time.stub!(:now).and_return(t) - today = Time.now - remember_until = today + (2* Merb::Const::WEEK) - @ident.remember_me_for( Merb::Const::WEEK * 2) - @ident.remember_token_expires_at.should == (remember_until) - end - - it "should remember_me for two weeks" do - t = Time.now - Time.stub!(:now).and_return(t) - @ident.remember_me - @ident.remember_token_expires_at.should == (Time.now + (2 * Merb::Const::WEEK )) - end - - it "should forget me" do - @ident.remember_me - @ident.save - @ident.forget_me - @ident.remember_token.should be_nil - @ident.remember_token_expires_at.should be_nil - end - - it "should persist the forget me to the database" do - @ident.remember_me - @ident.save - - @ident = Ident.find_with_conditions(:login => valid_ident_hash[:login]) - @ident.remember_token.should_not be_nil - - @ident.forget_me - - @ident = Ident.find_with_conditions(:login => valid_ident_hash[:login]) - @ident.remember_token.should be_nil - @ident.remember_token_expires_at.should be_nil - end - -end
\ No newline at end of file diff --git a/spec/unit/client_spec.rb b/spec/unit/client_spec.rb new file mode 100644 index 0000000000..f0129ad9fc --- /dev/null +++ b/spec/unit/client_spec.rb @@ -0,0 +1,63 @@ +# +# Author:: Adam Jacob (<adam@hjksolutions.com>) +# Copyright:: Copyright (c) 2008 HJK Solutions, LLC +# License:: GNU General Public License version 2 or later +# +# This program and entire repository is free software; you can +# redistribute it and/or modify it under the terms of the GNU +# General Public License as published by the Free Software +# Foundation; either version 2 of the License, or any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +require File.expand_path(File.join(File.dirname(__FILE__), "..", "spec_helper")) + +describe Chef::Client, "initialize" do + it "should create a new Chef::Client object" do + Chef::Client.new.should be_kind_of(Chef::Client) + end +end + +describe Chef::Client, "build_node" do + before(:each) do + @mock_facter_fqdn = mock("Facter FQDN") + @mock_facter_fqdn.stub!(:value).and_return("foo.bar.com") + @mock_facter_hostname = mock("Facter Hostname") + @mock_facter_hostname.stub!(:value).and_return("foo") + Facter.stub!(:[]).with("fqdn").and_return(@mock_facter_fqdn) + Facter.stub!(:[]).with("hostname").and_return(@mock_facter_hostname) + Facter.stub!(:each).and_return(true) + @client = Chef::Client.new + end + + it "should set the name equal to the FQDN" do + @client.build_node + @client.node.name.should eql("foo.bar.com") + end + + it "should set the name equal to the hostname if FQDN is not available" do + @mock_facter_fqdn.stub!(:value).and_return(nil) + @client.build_node + @client.node.name.should eql("foo") + end +end + +describe Chef::Client, "register" do + before(:each) do + @client = Chef::Client.new + end + + it "should check to see if it's already registered" + + it "should create a new passphrase if not registered" + + it "should create a new registration if it has not registered" +end
\ No newline at end of file diff --git a/spec/unit/compile_spec.rb b/spec/unit/compile_spec.rb index b6cde6582c..d042837606 100644 --- a/spec/unit/compile_spec.rb +++ b/spec/unit/compile_spec.rb @@ -43,6 +43,8 @@ describe Chef::Compile do end it "should load a node by name" do + node = Chef::Node.new + Chef::Node.stub!(:load).and_return(node) lambda { @compile.load_node("compile") }.should_not raise_error @@ -55,6 +57,8 @@ describe Chef::Compile do end it "should load all the recipes specified for this node" do + node = Chef::Node.new + Chef::Node.stub!(:load).and_return(node) @compile.load_node("compile") @compile.load_definitions lambda { @compile.load_recipes }.should_not raise_error diff --git a/spec/unit/cookbook_loader_spec.rb b/spec/unit/cookbook_loader_spec.rb index d66034ce7d..10f976cb05 100644 --- a/spec/unit/cookbook_loader_spec.rb +++ b/spec/unit/cookbook_loader_spec.rb @@ -37,6 +37,10 @@ describe Chef::CookbookLoader do @cl[:openldap].should be_a_kind_of(Chef::Cookbook) end + it "should raise an exception if it cannot find a cookbook with []" do + lambda { @cl[:monkeypoop] }.should raise_error(ArgumentError) + end + it "should allow you to look up available cookbooks with [] and a symbol" do @cl[:openldap].name.should eql(:openldap) end diff --git a/spec/unit/couchdb_spec.rb b/spec/unit/couchdb_spec.rb new file mode 100644 index 0000000000..e94302a217 --- /dev/null +++ b/spec/unit/couchdb_spec.rb @@ -0,0 +1,214 @@ +# +# Author:: Adam Jacob (<adam@hjksolutions.com>) +# Copyright:: Copyright (c) 2008 HJK Solutions, LLC +# License:: GNU General Public License version 2 or later +# +# This program and entire repository is free software; you can +# redistribute it and/or modify it under the terms of the GNU +# General Public License as published by the Free Software +# Foundation; either version 2 of the License, or any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +require File.expand_path(File.join(File.dirname(__FILE__), "..", "spec_helper")) + +describe Chef::CouchDB, "new" do + it "should create a new Chef::REST object from the default url" do + Chef::Config[:couchdb_url] = "http://monkey" + Chef::REST.should_receive(:new).with("http://monkey").and_return(true) + Chef::CouchDB.new + end + + it "should create a new Chef::REST object from a provided url" do + Chef::REST.should_receive(:new).with("http://monkeypants").and_return(true) + Chef::CouchDB.new("http://monkeypants") + end +end + +describe Chef::CouchDB, "create_db" do + before(:each) do + @mock_rest = mock("Chef::REST", :null_object => true) + @mock_rest.stub!(:get_rest).and_return([ "chef" ]) + @mock_rest.stub!(:put_rest).and_return(true) + Chef::REST.stub!(:new).and_return(@mock_rest) + end + + def do_create_db + couch = Chef::CouchDB.new + couch.create_db + end + + it "should get a list of current databases" do + @mock_rest.should_receive(:get_rest).and_return(["chef"]) + do_create_db + end + + it "should create the chef database if it does not exist" do + @mock_rest.stub!(:get_rest).and_return([]) + @mock_rest.should_receive(:put_rest).with("chef", {}).and_return(true) + do_create_db + end + + it "should not create the chef database if it does exist" do + @mock_rest.stub!(:get_rest).and_return(["chef"]) + @mock_rest.should_not_receive(:put_rest) + do_create_db + end + + it "should return 'chef'" do + do_create_db.should eql("chef") + end +end + +describe Chef::CouchDB, "create_design_document" do + before(:each) do + @mock_rest = mock("Chef::REST", :null_object => true) + @mock_design = { + "version" => 1, + "_rev" => 1 + } + @mock_data = { + "version" => 1, + "language" => "javascript", + "views" => { + "all" => { + "map" => <<-EOJS + function(doc) { + if (doc.chef_type == "node") { + emit(doc.name, doc); + } + } + EOJS + }, + } + } + @mock_rest.stub!(:get_rest).and_return(@mock_design) + @mock_rest.stub!(:put_rest).and_return(true) + Chef::REST.stub!(:new).and_return(@mock_rest) + end + + def do_create_design_document + couchdb = Chef::CouchDB.new + couchdb.create_design_document("bob", @mock_data) + end + + it "should fetch the existing design document" do + @mock_rest.should_receive(:get_rest).with("chef/_design%2Fbob") + do_create_design_document + end + + it "should populate the _rev in the new design if the versions dont match" do + @mock_data["version"] = 2 + do_create_design_document + @mock_data["_rev"].should eql(1) + end + + it "should create the view if it requires updating" do + @mock_data["version"] = 2 + @mock_rest.should_receive(:put_rest).with("chef/_design%2Fbob", @mock_data) + do_create_design_document + end + + it "should not create the view if it does not require updating" do + @mock_data["version"] = 1 + @mock_rest.should_not_receive(:put_rest) + do_create_design_document + end +end + +describe Chef::CouchDB, "store" do + it "should put the object into couchdb" do + @mock_rest = mock("Chef::REST", :null_object => true) + @mock_rest.should_receive(:put_rest).with("chef/node_bob", {}).and_return(true) + Chef::REST.stub!(:new).and_return(@mock_rest) + Chef::CouchDB.new.store("node", "bob", {}) + end +end + +describe Chef::CouchDB, "load" do + it "should load the object from couchdb" do + @mock_rest = mock("Chef::REST", :null_object => true) + @mock_rest.should_receive(:get_rest).with("chef/node_bob").and_return(true) + Chef::REST.stub!(:new).and_return(@mock_rest) + Chef::CouchDB.new.load("node", "bob").should eql(true) + end +end + +describe Chef::CouchDB, "delete" do + before(:each) do + @mock_current = { + "version" => 1, + "_rev" => 1 + } + @mock_rest = mock("Chef::REST", :null_object => true) + @mock_rest.stub!(:get_rest).and_return(@mock_current) + @mock_rest.stub!(:delete_rest).and_return(true) + Chef::REST.stub!(:new).and_return(@mock_rest) + end + + def do_delete(rev=nil) + Chef::REST.stub!(:new).and_return(@mock_rest) + Chef::CouchDB.new.delete("node", "bob", rev) + end + + it "should remove the object from couchdb with a specific revision" do + @mock_rest.should_receive(:delete_rest).with("chef/node_bob?rev=1") + do_delete(1) + end + + it "should remove the object from couchdb based on the couchdb_rev of the current obj" do + mock_real = mock("Inflated Object") + mock_real.stub!(:respond_to?).and_return(true) + mock_real.stub!(:couchdb_rev).and_return(2) + @mock_rest.should_receive(:get_rest).with("chef/node_bob").and_return(mock_real) + @mock_rest.should_receive(:delete_rest).with("chef/node_bob?rev=2") + do_delete + end + + it "should remove the object from couchdb based on the current objects rev" do + @mock_rest.should_receive(:delete_rest).with("chef/node_bob?rev=1") + do_delete + end +end + +describe Chef::CouchDB, "list" do + before(:each) do + @mock_rest = mock("Chef::REST", :null_object => true) + Chef::REST.stub!(:new).and_return(@mock_rest) + end + + it "should get the view for all objects if inflate is true" do + @mock_rest.should_receive(:get_rest).with("chef/_view/node/all").and_return(true) + Chef::CouchDB.new.list("node", true) + end + + it "should get the view for just the object id's if inflate is false" do + @mock_rest.should_receive(:get_rest).with("chef/_view/node/all_id").and_return(true) + Chef::CouchDB.new.list("node", false) + end +end + +describe Chef::CouchDB, "has_key?" do + before(:each) do + @mock_rest = mock("Chef::REST", :null_object => true) + Chef::REST.stub!(:new).and_return(@mock_rest) + end + + it "should return true if the object exists" do + @mock_rest.should_receive(:get_rest).and_return(true) + Chef::CouchDB.new.has_key?("node", "bob").should eql(true) + end + + it "should return false if the object does not exist" do + @mock_rest.should_receive(:get_rest).and_raise(ArgumentError) + Chef::CouchDB.new.has_key?("node", "bob").should eql(false) + end +end diff --git a/spec/unit/file_store_spec.rb b/spec/unit/file_store_spec.rb index e7371653f1..6f12f7cec9 100644 --- a/spec/unit/file_store_spec.rb +++ b/spec/unit/file_store_spec.rb @@ -92,10 +92,11 @@ describe Chef::FileStore do Chef::FileStore.list("node").should eql(["pool"]) end - it "should let you test whether a key exists for an object type with has_key?" do - Dir.should_receive(:[]).with("/tmp/chef-test/node/**/*").and_return(["pool"]) - File.should_receive(:file?).with("pool").and_return(true) - Chef::FileStore.has_key?("node", "pool").should eql(true) + it "should return all the documents of a particular type with list and inflate" do + Dir.stub!(:[]).and_return(["/foo/pool"]) + File.stub!(:file?).and_return(true) + Chef::FileStore.should_receive(:load).with("node", "pool").and_return("monkey") + Chef::FileStore.list("node", true).should eql(["monkey"]) end it "should let you test whether a key doesnt exist for an object type with has_key?" do diff --git a/spec/unit/node_spec.rb b/spec/unit/node_spec.rb index 753d056404..e41c2235a3 100644 --- a/spec/unit/node_spec.rb +++ b/spec/unit/node_spec.rb @@ -20,7 +20,7 @@ require File.expand_path(File.join(File.dirname(__FILE__), "..", "spec_helper")) -describe Chef::Node do +describe Chef::Node, "new method" do before(:each) do Chef::Config.node_path(File.join(File.dirname(__FILE__), "..", "data", "nodes")) @node = Chef::Node.new() @@ -29,7 +29,14 @@ describe Chef::Node do it "should create a new Chef::Node" do @node.should be_a_kind_of(Chef::Node) end +end +describe Chef::Node, "name" do + before(:each) do + Chef::Config.node_path(File.join(File.dirname(__FILE__), "..", "data", "nodes")) + @node = Chef::Node.new() + end + it "should allow you to set a name with name(something)" do lambda { @node.name("latte") }.should_not raise_error end @@ -43,6 +50,14 @@ describe Chef::Node do lambda { @node.name(Hash.new) }.should raise_error(ArgumentError) end +end + +describe Chef::Node, "attributes" do + before(:each) do + Chef::Config.node_path(File.join(File.dirname(__FILE__), "..", "data", "nodes")) + @node = Chef::Node.new() + end + it "should have attributes" do @node.attribute.should be_a_kind_of(Hash) end @@ -67,6 +82,41 @@ describe Chef::Node do @node.attribute?("locust").should eql(true) @node.attribute?("no dice").should eql(false) end + + it "should allow you to set an attribute via method_missing" do + @node.sunshine "is bright" + @node.attribute[:sunshine].should eql("is bright") + end + + it "should allow you get get an attribute via method_missing" do + @node.sunshine "is bright" + @node.sunshine.should eql("is bright") + end + + it "should raise an ArgumentError if you ask for an attribute that doesn't exist via method_missing" do + lambda { @node.sunshine }.should raise_error(ArgumentError) + end + + it "should allow you to iterate over attributes with each_attribute" do + @node.sunshine "is bright" + @node.canada "is a nice place" + seen_attributes = Hash.new + @node.each_attribute do |a,v| + seen_attributes[a] = v + end + seen_attributes.should have_key(:sunshine) + seen_attributes.should have_key(:canada) + seen_attributes[:sunshine].should == "is bright" + seen_attributes[:canada].should == "is a nice place" + end + +end + +describe Chef::Node, "recipes" do + before(:each) do + Chef::Config.node_path(File.join(File.dirname(__FILE__), "..", "data", "nodes")) + @node = Chef::Node.new() + end it "should have an array of recipes that should be applied" do @node.recipes.should be_a_kind_of(Array) @@ -84,18 +134,12 @@ describe Chef::Node do @node.recipe?("two").should eql(true) end - it "should allow you to set an attribute via method_missing" do - @node.sunshine "is bright" - @node.attribute[:sunshine].should eql("is bright") - end - - it "should allow you get get an attribute via method_missing" do - @node.sunshine "is bright" - @node.sunshine.should eql("is bright") - end - - it "should raise an ArgumentError if you ask for an attribute that doesn't exist via method_missing" do - lambda { @node.sunshine }.should raise_error(ArgumentError) +end + +describe Chef::Node, "from file" do + before(:each) do + Chef::Config.node_path(File.join(File.dirname(__FILE__), "..", "data", "nodes")) + @node = Chef::Node.new() end it "should load a node from a ruby file" do @@ -109,38 +153,32 @@ describe Chef::Node do it "should raise an exception if the file cannot be found or read" do lambda { @node.from_file("/tmp/monkeydiving") }.should raise_error(IOError) end - - it "should allow you to iterate over attributes with each_attribute" do - @node.sunshine "is bright" - @node.canada "is a nice place" - seen_attributes = Hash.new - @node.each_attribute do |a,v| - seen_attributes[a] = v - end - seen_attributes.should have_key(:sunshine) - seen_attributes.should have_key(:canada) - seen_attributes[:sunshine].should == "is bright" - seen_attributes[:canada].should == "is a nice place" +end + +describe Chef::Node, "find_file" do + before(:each) do + Chef::Config.node_path(File.join(File.dirname(__FILE__), "..", "data", "nodes")) + @node = Chef::Node.new() end - + it "should load a node from a file by fqdn" do - node = Chef::Node.find("test.example.com") - node.name.should == "test.example.com" + @node.find_file("test.example.com") + @node.name.should == "test.example.com" end it "should load a node from a file by hostname" do File.stub!(:exists?).and_return(true) File.should_receive(:exists?).with(File.join(Chef::Config[:node_path], "test.example.com.rb")).and_return(false) - node = Chef::Node.find("test.example.com") - node.name.should == "test.example.com short" + @node.find_file("test.example.com") + @node.name.should == "test.example.com short" end it "should load a node from the default file" do File.stub!(:exists?).and_return(true) File.should_receive(:exists?).with(File.join(Chef::Config[:node_path], "test.example.com.rb")).and_return(false) File.should_receive(:exists?).with(File.join(Chef::Config[:node_path], "test.rb")).and_return(false) - node = Chef::Node.find("test.example.com") - node.name.should == "test.example.com default" + @node.find_file("test.example.com") + @node.name.should == "test.example.com default" end it "should raise an ArgumentError if it cannot find any node file at all" do @@ -148,12 +186,19 @@ describe Chef::Node do File.should_receive(:exists?).with(File.join(Chef::Config[:node_path], "test.example.com.rb")).and_return(false) File.should_receive(:exists?).with(File.join(Chef::Config[:node_path], "test.rb")).and_return(false) File.should_receive(:exists?).with(File.join(Chef::Config[:node_path], "default.rb")).and_return(false) - lambda { Chef::Node.find("test.example.com") }.should raise_error(ArgumentError) + lambda { @node.find_file("test.example.com") }.should raise_error(ArgumentError) end +end +describe Chef::Node, "json" do + before(:each) do + Chef::Config.node_path(File.join(File.dirname(__FILE__), "..", "data", "nodes")) + @node = Chef::Node.new() + end + it "should serialize itself as json" do - node = Chef::Node.find("test.example.com") - json = node.to_json() + @node.find_file("test.example.com") + json = @node.to_json() json.should =~ /json_class/ json.should =~ /name/ json.should =~ /attributes/ @@ -161,28 +206,110 @@ describe Chef::Node do end it "should deserialize itself from json" do - original_node = Chef::Node.find("test.example.com") - json = original_node.to_json + @node.find_file("test.example.com") + json = @node.to_json serialized_node = JSON.parse(json) serialized_node.should be_a_kind_of(Chef::Node) - serialized_node.name.should eql(original_node.name) - original_node.each_attribute do |k,v| + serialized_node.name.should eql(@node.name) + @node.each_attribute do |k,v| serialized_node[k].should eql(v) end - serialized_node.recipes.should eql(original_node.recipes) - end - - it "should return a list of node names based on which files are in the node_path" do - list = Chef::Node.list - list.should be_a_kind_of(Array) - list[0].should == "default" - list[1].should == "test.example.com" - list[2].should == "test" + serialized_node.recipes.should eql(@node.recipes) end +end + +describe Chef::Node, "to_s" do + before(:each) do + Chef::Config.node_path(File.join(File.dirname(__FILE__), "..", "data", "nodes")) + @node = Chef::Node.new() + end + it "should turn into a string like node[name]" do @node.name("airplane") @node.to_s.should eql("node[airplane]") end +end +describe Chef::Node, "list" do + before(:each) do + mock_couch = mock("Chef::CouchDB") + mock_couch.stub!(:list).and_return( + { + "rows" => [ + { + "value" => "a", + "key" => "avenue" + } + ] + } + ) + Chef::CouchDB.stub!(:new).and_return(mock_couch) + end + + it "should retrieve a list of nodes from CouchDB" do + Chef::Node.list.should eql(["avenue"]) + end + + it "should return just the ids if inflate is false" do + Chef::Node.list(false).should eql(["avenue"]) + end + + it "should return the full objects if inflate is true" do + Chef::Node.list(true).should eql(["a"]) + end +end + +describe Chef::Node, "load" do + it "should load a node from couchdb by name" do + mock_couch = mock("Chef::CouchDB") + mock_couch.should_receive(:load).with("node", "coffee").and_return(true) + Chef::CouchDB.stub!(:new).and_return(mock_couch) + Chef::Node.load("coffee") + end +end + +describe Chef::Node, "destroy" do + it "should delete this node from couchdb" do + mock_couch = mock("Chef::CouchDB") + mock_couch.should_receive(:delete).with("node", "bob", 1).and_return(true) + Chef::CouchDB.stub!(:new).and_return(mock_couch) + node = Chef::Node.new + node.name "bob" + node.couchdb_rev = 1 + Chef::Queue.should_receive(:send_msg).with(:queue, :node_remove, node) + node.destroy + end +end + +describe Chef::Node, "save" do + before(:each) do + @mock_couch = mock("Chef::CouchDB") + @mock_couch.stub!(:store).and_return({ "rev" => 33 }) + Chef::CouchDB.stub!(:new).and_return(@mock_couch) + Chef::Queue.stub!(:send_msg).and_return(true) + @node = Chef::Node.new + @node.name "bob" + @node.couchdb_rev = 1 + end + + it "should save the node to couchdb" do + Chef::Queue.should_receive(:send_msg).with(:queue, :node_index, @node) + @mock_couch.should_receive(:store).with("node", "bob", @node).and_return({ "rev" => 33 }) + @node.save + end + + it "should store the new couchdb_rev" do + @node.save + @node.couchdb_rev.should eql(33) + end +end + +describe Chef::Node, "create_design_document" do + it "should create our design document" do + mock_couch = mock("Chef::CouchDB") + mock_couch.should_receive(:create_design_document).with("nodes", Chef::Node::DESIGN_DOCUMENT) + Chef::CouchDB.stub!(:new).and_return(mock_couch) + Chef::Node.create_design_document + end end
\ No newline at end of file diff --git a/spec/unit/openid_registration_spec.rb b/spec/unit/openid_registration_spec.rb new file mode 100644 index 0000000000..4f8db8a36c --- /dev/null +++ b/spec/unit/openid_registration_spec.rb @@ -0,0 +1,154 @@ +# +# Author:: Adam Jacob (<adam@hjksolutions.com>) +# Copyright:: Copyright (c) 2008 HJK Solutions, LLC +# License:: GNU General Public License version 2 or later +# +# This program and entire repository is free software; you can +# redistribute it and/or modify it under the terms of the GNU +# General Public License as published by the Free Software +# Foundation; either version 2 of the License, or any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +require File.expand_path(File.join(File.dirname(__FILE__), "..", "spec_helper")) + +describe Chef::OpenIDRegistration, "initialize" do + it "should return a new Chef::OpenIDRegistration object" do + Chef::OpenIDRegistration.new.should be_kind_of(Chef::OpenIDRegistration) + end +end + +describe Chef::OpenIDRegistration, "set_password" do + it "should generate a salt for this object" do + oreg = Chef::OpenIDRegistration.new + oreg.salt.should eql(nil) + oreg.set_password("foolio") + oreg.salt.should_not eql(nil) + end + + it "should encrypt the password with the salt and the plaintext password" do + oreg = Chef::OpenIDRegistration.new + oreg.set_password("foolio") + oreg.password.should_not eql(nil) + end +end + +describe Chef::OpenIDRegistration, "to_json" do + it "should serialize itself as json" do + oreg = Chef::OpenIDRegistration.new + oreg.set_password("monkey") + json = oreg.to_json + %w{json_class chef_type name salt password validated}.each do |verify| + json.should =~ /#{verify}/ + end + end +end + +describe Chef::OpenIDRegistration, "from_json" do + it "should serialize itself as json" do + oreg = Chef::OpenIDRegistration.new + oreg.set_password("monkey") + oreg_json = oreg.to_json + nreg = JSON.parse(oreg_json) + nreg.should be_a_kind_of(Chef::OpenIDRegistration) + %w{name salt password validated}.each do |verify| + nreg.send(verify.to_sym).should eql(oreg.send(verify.to_sym)) + end + end +end + +describe Chef::OpenIDRegistration, "list" do + before(:each) do + @mock_couch = mock("Chef::CouchDB") + @mock_couch.stub!(:list).and_return({ + "rows" => [ + { + "value" => "a", + "key" => "avenue" + } + ] + }) + Chef::CouchDB.stub!(:new).and_return(@mock_couch) + end + + it "should retrieve a list of nodes from CouchDB" do + Chef::OpenIDRegistration.list.should eql(["avenue"]) + end + + it "should return just the ids if inflate is false" do + Chef::OpenIDRegistration.list(false).should eql(["avenue"]) + end + + it "should return the full objects if inflate is true" do + Chef::OpenIDRegistration.list(true).should eql(["a"]) + end +end + +describe Chef::OpenIDRegistration, "load" do + it "should load a registration from couchdb by name" do + @mock_couch = mock("Chef::CouchDB") + Chef::CouchDB.stub!(:new).and_return(@mock_couch) + @mock_couch.should_receive(:load).with("openid_registration", "coffee").and_return(true) + Chef::OpenIDRegistration.load("coffee") + end +end + +describe Chef::OpenIDRegistration, "destroy" do + it "should delete this registration from couchdb" do + @mock_couch = mock("Chef::CouchDB") + @mock_couch.should_receive(:delete).with("openid_registration", "bob", 1).and_return(true) + Chef::CouchDB.stub!(:new).and_return(@mock_couch) + reg = Chef::OpenIDRegistration.new + reg.name = "bob" + reg.couchdb_rev = 1 + reg.destroy + end +end + +describe Chef::OpenIDRegistration, "save" do + before(:each) do + @mock_couch = mock("Chef::CouchDB") + Chef::CouchDB.stub!(:new).and_return(@mock_couch) + @reg = Chef::OpenIDRegistration.new + @reg.name = "bob" + @reg.couchdb_rev = 1 + end + + it "should save the registration to couchdb" do + @mock_couch.should_receive(:store).with("openid_registration", "bob", @reg).and_return({ "rev" => 33 }) + @reg.save + end + + it "should store the new couchdb_rev" do + @mock_couch.stub!(:store).with("openid_registration", "bob", @reg).and_return({ "rev" => 33 }) + @reg.save + @reg.couchdb_rev.should eql(33) + end +end + +describe Chef::OpenIDRegistration, "create_design_document" do + it "should create our design document" do + mock_couch = mock("Chef::CouchDB") + mock_couch.should_receive(:create_design_document).with("registrations", Chef::OpenIDRegistration::DESIGN_DOCUMENT) + Chef::CouchDB.stub!(:new).and_return(mock_couch) + Chef::OpenIDRegistration.create_design_document + end +end + +describe Chef::OpenIDRegistration, "has_key?" do + it "should check with CouchDB for a registration with this key" do + @mock_couch = mock("Chef::CouchDB") + @mock_couch.should_receive(:has_key?).with("openid_registration", "bob").and_return(true) + Chef::CouchDB.stub!(:new).and_return(@mock_couch) + Chef::OpenIDRegistration.has_key?("bob") + end +end + diff --git a/spec/unit/rest_spec.rb b/spec/unit/rest_spec.rb index df77d163e9..96238a6c2c 100644 --- a/spec/unit/rest_spec.rb +++ b/spec/unit/rest_spec.rb @@ -19,34 +19,186 @@ # require File.expand_path(File.join(File.dirname(__FILE__), "..", "spec_helper")) +require 'uri' +require 'net/https' -describe Chef::REST do +describe Chef::REST, "initialize method" do + it "should create a new Chef::REST" do + Chef::REST.new("url").should be_kind_of(Chef::REST) + end +end + +describe Chef::REST, "get_rest method" do + it "should create a url from the path and base url" do + URI.should_receive(:parse).with("url/monkey") + r = Chef::REST.new("url") + r.stub!(:run_request) + r.get_rest("monkey") + end + + it "should call run_request :GET with the composed url object" do + URI.stub!(:parse).and_return(true) + r = Chef::REST.new("url") + r.should_receive(:run_request).with(:GET, true).and_return(true) + r.get_rest("monkey") + end +end + +describe Chef::REST, "delete_rest method" do + it "should create a url from the path and base url" do + URI.should_receive(:parse).with("url/monkey") + r = Chef::REST.new("url") + r.stub!(:run_request) + r.delete_rest("monkey") + end + + it "should call run_request :DELETE with the composed url object" do + URI.stub!(:parse).and_return(true) + r = Chef::REST.new("url") + r.should_receive(:run_request).with(:DELETE, true).and_return(true) + r.delete_rest("monkey") + end +end + +describe Chef::REST, "post_rest method" do + it "should create a url from the path and base url" do + URI.should_receive(:parse).with("url/monkey") + r = Chef::REST.new("url") + r.stub!(:run_request) + r.post_rest("monkey", "data") + end + + it "should call run_request :POST with the composed url object and data" do + URI.stub!(:parse).and_return(true) + r = Chef::REST.new("url") + r.should_receive(:run_request).with(:POST, true, "data").and_return(true) + r.post_rest("monkey", "data") + end +end + +describe Chef::REST, "put_rest method" do + it "should create a url from the path and base url" do + URI.should_receive(:parse).with("url/monkey") + r = Chef::REST.new("url") + r.stub!(:run_request) + r.put_rest("monkey", "data") + end + + it "should call run_request :PUT with the composed url object and data" do + URI.stub!(:parse).and_return(true) + r = Chef::REST.new("url") + r.should_receive(:run_request).with(:PUT, true, "data").and_return(true) + r.put_rest("monkey", "data") + end +end - it "should make a connection to an http server" do - +describe Chef::REST, "run_request method" do + before(:each) do + @r = Chef::REST.new("url") + @url_mock = mock("URI", :null_object => true) + @url_mock.stub!(:host).and_return("one") + @url_mock.stub!(:port).and_return("80") + @url_mock.stub!(:path).and_return("/") + @url_mock.stub!(:query).and_return("foo=bar") + @url_mock.stub!(:scheme).and_return("https") + @http_response_mock = mock("Net::HTTPSuccess", :null_object => true) + @http_response_mock.stub!(:kind_of?).with(Net::HTTPSuccess).and_return(true) + @http_response_mock.stub!(:body).and_return("ninja") + @http_mock = mock("Net::HTTP", :null_object => true) + @http_mock.stub!(:verify_mode=).and_return(true) + @http_mock.stub!(:read_timeout=).and_return(true) + @http_mock.stub!(:use_ssl=).with(true).and_return(true) + @data_mock = mock("Data", :null_object => true) + @data_mock.stub!(:to_json).and_return('{ "one": "two" }') + @request_mock = mock("Request", :null_object => true) + @request_mock.stub!(:body=).and_return(true) + @http_mock.stub!(:request).and_return(@http_response_mock) end - it "should make a connection to an https server" do + def do_run_request(method=:GET, data=false, limit=10) + Net::HTTP.stub!(:new).and_return(@http_mock) + @r.run_request(method, @url_mock, data, limit) end - it "should authenticate if given a redirect" do - + it "should raise an exception if the redirect limit is 0" do + lambda { @r.run_request(:GET, "/", false, 0)}.should raise_error(ArgumentError) end - it "should GET a URL" do - + it "should use SSL if the url starts with https" do + @url_mock.should_receive(:scheme).and_return("https") + @http_mock.should_receive(:use_ssl=).with(true).and_return(true) + do_run_request end - it "should PUT to an URL " do - + it "should set the OpenSSL Verify Mode to verify_none if requested" do + @http_mock.should_receive(:verify_mode=).and_return(true) + do_run_request end - it "should POST to an URL" do - + it "should set a read timeout based on the rest_timeout config option" do + Chef::Config[:rest_timeout] = 10 + @http_mock.should_receive(:read_timeout=).with(10).and_return(true) + do_run_request end - it "should DELETE an URL" do - + it "should build a new HTTP GET request" do + Net::HTTP::Get.should_receive(:new).with("/?foo=bar", + { 'Accept' => 'application/json', "Content-Type" => 'application/json' } + ).and_return(true) + do_run_request end -end
\ No newline at end of file + it "should build a new HTTP POST request" do + Net::HTTP::Post.should_receive(:new).with("/", + { 'Accept' => 'application/json', "Content-Type" => 'application/json' } + ).and_return(@request_mock) + do_run_request(:POST, @data_mock) + end + + it "should build a new HTTP PUT request" do + Net::HTTP::Put.should_receive(:new).with("/", + { 'Accept' => 'application/json', "Content-Type" => 'application/json' } + ).and_return(@request_mock) + do_run_request(:PUT, @data_mock) + end + + it "should build a new HTTP DELETE request" do + Net::HTTP::Delete.should_receive(:new).with("/?foo=bar", + { 'Accept' => 'application/json', "Content-Type" => 'application/json' } + ).and_return(true) + do_run_request(:DELETE) + end + + it "should raise an error if the method is not GET/PUT/POST/DELETE" do + lambda { do_run_request(:MONKEY) }.should raise_error(ArgumentError) + end + + it "should run an http request" do + @http_mock.should_receive(:request).and_return(@http_response_mock) + do_run_request + end + + it "should return the body of the response on success" do + do_run_request.should eql("ninja") + end + + it "should inflate the body as to an object if JSON is returned" do + @http_response_mock.stub!(:[]).with('content-type').and_return("application/json") + JSON.should_receive(:parse).with("ninja").and_return(true) + do_run_request + end + + it "should call run_request again on a Redirect response" do + @http_response_mock.stub!(:kind_of?).with(Net::HTTPSuccess).and_return(false) + @http_response_mock.stub!(:kind_of?).with(Net::HTTPRedirection).and_return(true) + @http_response_mock.stub!(:[]).with('location').and_return(@url_mock) + lambda { do_run_request(method=:GET, data=false, limit=1) }.should raise_error(ArgumentError) + end + + it "should raise an exception on an unsuccessful request" do + @http_response_mock.stub!(:kind_of?).with(Net::HTTPSuccess).and_return(false) + @http_response_mock.stub!(:kind_of?).with(Net::HTTPRedirection).and_return(false) + @http_response_mock.should_receive(:error!) + do_run_request + end +end |