GATEWAY_INTERFACE: "CGI/1.1"
HTTP_ACCEPT: "text/html"
HTTP_COOKIE: "_depot_session=BAh7CSIQX2NzcmZfdG9rZW4iMXIxS0pBNXhCZENOZzNuRzZtK0NjYmRubmh1R1V6MkZrdFpBdkJVUXNxTmM9Ig9zZXNzaW9uX2lkIiUyZmI2MDE4MDBjMDJlNmY1ZWJiZGFmNjY2OWFmNmJhZSIMY2FydF9pZGkGIgpmbGFzaElDOiVBY3Rpb25EaXNwYXRjaDo6Rmxhc2g6OkZsYXNoSGFzaHsGOgtub3RpY2UiKExpbmUgaXRlbSB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQuBjoKQHVzZWRvOghTZXQGOgpAaGFzaHsGOwZU--f07e84312830b7011533c5e08cbce64f61d4bdbb; path=/; HttpOnly"
HTTP_HOST: "localhost:3000"
HTTP_VERSION: "HTTP/1.1"
PATH_INFO: "/carts/wibble"
QUERY_STRING: ""
REMOTE_ADDR: "127.0.0.1"
REMOTE_HOST: "localhost"
REQUEST_METHOD: "GET"
REQUEST_PATH: "/"
REQUEST_URI: "http://localhost:3000/carts/wibble"
SCRIPT_NAME: ""
SERVER_NAME: "localhost"
SERVER_PORT: "3000"
SERVER_PROTOCOL: "HTTP/1.1"
SERVER_SOFTWARE: "WEBrick/1.3.1 (Ruby/1.8.8/2010-06-05)"
action_controller.instance: #<CartsController:0xb6597764 @_request=#<ActionDispatch::Request:0xb6597700 @env={"action_dispatch.request.formats"=>[#<Mime::Type:0xb7030b1c @synonyms=["application/xhtml+xml"], @string="text/html", @symbol=:html>], "action_dispatch.request.parameters"=>{"action"=>"show", "id"=>"wibble", "controller"=>"carts"}, "rack.session"=>{"_csrf_token"=>"r1KJA5xBdCNg3nG6m+CcbdnnhuGUz2FktZAvBUQsqNc=", "session_id"=>"2fb601800c02e6f5ebbdaf6669af6bae", "cart_id"=>1}, "HTTP_HOST"=>"localhost:3000", "HTTP_ACCEPT"=>"text/html", "SERVER_NAME"=>"localhost", "rack.request.cookie_hash"=>{"HttpOnly"=>nil, "_depot_session"=>"BAh7CSIQX2NzcmZfdG9rZW4iMXIxS0pBNXhCZENOZzNuRzZtK0NjYmRubmh1R1V6MkZrdFpBdkJVUXNxTmM9Ig9zZXNzaW9uX2lkIiUyZmI2MDE4MDBjMDJlNmY1ZWJiZGFmNjY2OWFmNmJhZSIMY2FydF9pZGkGIgpmbGFzaElDOiVBY3Rpb25EaXNwYXRjaDo6Rmxhc2g6OkZsYXNoSGFzaHsGOgtub3RpY2UiKExpbmUgaXRlbSB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQuBjoKQHVzZWRvOghTZXQGOgpAaGFzaHsGOwZU--f07e84312830b7011533c5e08cbce64f61d4bdbb", "path"=>"/"}, "action_dispatch.remote_ip"=>#<ActionDispatch::RemoteIp::RemoteIpGetter:0xb661a4ac @env={...}, @trusted_proxies=/(^127\.0\.0\.1$|^(10|172\.(1[6-9]|2[0-9]|30|31)|192\.168)\.)/i, @check_ip_spoofing=true>, "REQUEST_PATH"=>"/", "rack.url_scheme"=>"http", "REMOTE_HOST"=>"localhost", "action_dispatch.request.query_parameters"=>{}, "rack.errors"=>#<IO:0xb75f5174>, "SERVER_PROTOCOL"=>"HTTP/1.1", "action_dispatch.request.accepts"=>[#<Mime::Type:0xb7030b1c @synonyms=["application/xhtml+xml"], @string="text/html", @symbol=:html>], "action_dispatch.secret_token"=>"21d0fd931f5c004bf7c6c1dbadeb0271123557a574f21d744399d91c6a47c1ee14eeabd5eddd2d5ef8a07d4cf2b705fd00b48d6f4a3ae22c9b86b0822b563e7a", "rack.version"=>[1, 1], "rack.run_once"=>false, "SERVER_SOFTWARE"=>"WEBrick/1.3.1 (Ruby/1.8.8/2010-06-05)", "REMOTE_ADDR"=>"127.0.0.1", "PATH_INFO"=>"/carts/wibble", "action_dispatch.request.path_parameters"=>{:id=>"wibble", :controller=>"carts", :action=>"show"}, "rack.request.cookie_string"=>"_depot_session=BAh7CSIQX2NzcmZfdG9rZW4iMXIxS0pBNXhCZENOZzNuRzZtK0NjYmRubmh1R1V6MkZrdFpBdkJVUXNxTmM9Ig9zZXNzaW9uX2lkIiUyZmI2MDE4MDBjMDJlNmY1ZWJiZGFmNjY2OWFmNmJhZSIMY2FydF9pZGkGIgpmbGFzaElDOiVBY3Rpb25EaXNwYXRjaDo6Rmxhc2g6OkZsYXNoSGFzaHsGOgtub3RpY2UiKExpbmUgaXRlbSB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQuBjoKQHVzZWRvOghTZXQGOgpAaGFzaHsGOwZU--f07e84312830b7011533c5e08cbce64f61d4bdbb; path=/; HttpOnly", "SCRIPT_NAME"=>"", "action_dispatch.parameter_filter"=>[:password], "HTTP_VERSION"=>"HTTP/1.1", "rack.multithread"=>false, "HTTP_COOKIE"=>"_depot_session=BAh7CSIQX2NzcmZfdG9rZW4iMXIxS0pBNXhCZENOZzNuRzZtK0NjYmRubmh1R1V6MkZrdFpBdkJVUXNxTmM9Ig9zZXNzaW9uX2lkIiUyZmI2MDE4MDBjMDJlNmY1ZWJiZGFmNjY2OWFmNmJhZSIMY2FydF9pZGkGIgpmbGFzaElDOiVBY3Rpb25EaXNwYXRjaDo6Rmxhc2g6OkZsYXNoSGFzaHsGOgtub3RpY2UiKExpbmUgaXRlbSB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQuBjoKQHVzZWRvOghTZXQGOgpAaGFzaHsGOwZU--f07e84312830b7011533c5e08cbce64f61d4bdbb; path=/; HttpOnly", "action_dispatch.request.request_parameters"=>{}, "action_dispatch.cookies"=>{"HttpOnly"=>nil, "_depot_session"=>"BAh7CSIQX2NzcmZfdG9rZW4iMXIxS0pBNXhCZENOZzNuRzZtK0NjYmRubmh1R1V6MkZrdFpBdkJVUXNxTmM9Ig9zZXNzaW9uX2lkIiUyZmI2MDE4MDBjMDJlNmY1ZWJiZGFmNjY2OWFmNmJhZSIMY2FydF9pZGkGIgpmbGFzaElDOiVBY3Rpb25EaXNwYXRjaDo6Rmxhc2g6OkZsYXNoSGFzaHsGOgtub3RpY2UiKExpbmUgaXRlbSB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQuBjoKQHVzZWRvOghTZXQGOgpAaGFzaHsGOwZU--f07e84312830b7011533c5e08cbce64f61d4bdbb", "path"=>"/"}, "rack.multiprocess"=>false, "REQUEST_URI"=>"http://localhost:3000/carts/wibble", "rack.request.query_hash"=>{}, "SERVER_PORT"=>"3000", "action_controller.instance"=>#<CartsController:0xb6597764 ...>, "rack.session.options"=>{:id=>"2fb601800c02e6f5ebbdaf6669af6bae", :httponly=>true, :expire_after=>nil, :path=>"/", :domain=>nil, :secure=>false}, "REQUEST_METHOD"=>"GET", "rack.request.query_string"=>"", "action_dispatch.request.content_type"=>nil, "rack.input"=>#<StringIO:0xb661b35c>, "QUERY_STRING"=>"", "GATEWAY_INTERFACE"=>"CGI/1.1"}, @filtered_parameters={"action"=>"show", "id"=>"wibble", "controller"=>"carts"}, @method="GET", @request_method="GET", @fullpath="/carts/wibble">, @_headers={"Content-Type"=>"text/html"}, @view_context_class=nil, @_response=#<ActionDispatch::Response:0xb659769c @blank=false, @sending_file=false, @cache_control={}, @cookie=[], @request=#<ActionDispatch::Request:0xb6597700 @env={"action_dispatch.request.formats"=>[#<Mime::Type:0xb7030b1c @synonyms=["application/xhtml+xml"], @string="text/html", @symbol=:html>], "action_dispatch.request.parameters"=>{"action"=>"show", "id"=>"wibble", "controller"=>"carts"}, "rack.session"=>{"_csrf_token"=>"r1KJA5xBdCNg3nG6m+CcbdnnhuGUz2FktZAvBUQsqNc=", "session_id"=>"2fb601800c02e6f5ebbdaf6669af6bae", "cart_id"=>1}, "HTTP_HOST"=>"localhost:3000", "HTTP_ACCEPT"=>"text/html", "SERVER_NAME"=>"localhost", "rack.request.cookie_hash"=>{"HttpOnly"=>nil, "_depot_session"=>"BAh7CSIQX2NzcmZfdG9rZW4iMXIxS0pBNXhCZENOZzNuRzZtK0NjYmRubmh1R1V6MkZrdFpBdkJVUXNxTmM9Ig9zZXNzaW9uX2lkIiUyZmI2MDE4MDBjMDJlNmY1ZWJiZGFmNjY2OWFmNmJhZSIMY2FydF9pZGkGIgpmbGFzaElDOiVBY3Rpb25EaXNwYXRjaDo6Rmxhc2g6OkZsYXNoSGFzaHsGOgtub3RpY2UiKExpbmUgaXRlbSB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQuBjoKQHVzZWRvOghTZXQGOgpAaGFzaHsGOwZU--f07e84312830b7011533c5e08cbce64f61d4bdbb", "path"=>"/"}, "action_dispatch.remote_ip"=>#<ActionDispatch::RemoteIp::RemoteIpGetter:0xb661a4ac @env={...}, @trusted_proxies=/(^127\.0\.0\.1$|^(10|172\.(1[6-9]|2[0-9]|30|31)|192\.168)\.)/i, @check_ip_spoofing=true>, "REQUEST_PATH"=>"/", "rack.url_scheme"=>"http", "REMOTE_HOST"=>"localhost", "action_dispatch.request.query_parameters"=>{}, "rack.errors"=>#<IO:0xb75f5174>, "SERVER_PROTOCOL"=>"HTTP/1.1", "action_dispatch.request.accepts"=>[#<Mime::Type:0xb7030b1c @synonyms=["application/xhtml+xml"], @string="text/html", @symbol=:html>], "action_dispatch.secret_token"=>"21d0fd931f5c004bf7c6c1dbadeb0271123557a574f21d744399d91c6a47c1ee14eeabd5eddd2d5ef8a07d4cf2b705fd00b48d6f4a3ae22c9b86b0822b563e7a", "rack.version"=>[1, 1], "rack.run_once"=>false, "SERVER_SOFTWARE"=>"WEBrick/1.3.1 (Ruby/1.8.8/2010-06-05)", "REMOTE_ADDR"=>"127.0.0.1", "PATH_INFO"=>"/carts/wibble", "action_dispatch.request.path_parameters"=>{:id=>"wibble", :controller=>"carts", :action=>"show"}, "rack.request.cookie_string"=>"_depot_session=BAh7CSIQX2NzcmZfdG9rZW4iMXIxS0pBNXhCZENOZzNuRzZtK0NjYmRubmh1R1V6MkZrdFpBdkJVUXNxTmM9Ig9zZXNzaW9uX2lkIiUyZmI2MDE4MDBjMDJlNmY1ZWJiZGFmNjY2OWFmNmJhZSIMY2FydF9pZGkGIgpmbGFzaElDOiVBY3Rpb25EaXNwYXRjaDo6Rmxhc2g6OkZsYXNoSGFzaHsGOgtub3RpY2UiKExpbmUgaXRlbSB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQuBjoKQHVzZWRvOghTZXQGOgpAaGFzaHsGOwZU--f07e84312830b7011533c5e08cbce64f61d4bdbb; path=/; HttpOnly", "SCRIPT_NAME"=>"", "action_dispatch.parameter_filter"=>[:password], "HTTP_VERSION"=>"HTTP/1.1", "rack.multithread"=>false, "HTTP_COOKIE"=>"_depot_session=BAh7CSIQX2NzcmZfdG9rZW4iMXIxS0pBNXhCZENOZzNuRzZtK0NjYmRubmh1R1V6MkZrdFpBdkJVUXNxTmM9Ig9zZXNzaW9uX2lkIiUyZmI2MDE4MDBjMDJlNmY1ZWJiZGFmNjY2OWFmNmJhZSIMY2FydF9pZGkGIgpmbGFzaElDOiVBY3Rpb25EaXNwYXRjaDo6Rmxhc2g6OkZsYXNoSGFzaHsGOgtub3RpY2UiKExpbmUgaXRlbSB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQuBjoKQHVzZWRvOghTZXQGOgpAaGFzaHsGOwZU--f07e84312830b7011533c5e08cbce64f61d4bdbb; path=/; HttpOnly", "action_dispatch.request.request_parameters"=>{}, "action_dispatch.cookies"=>{"HttpOnly"=>nil, "_depot_session"=>"BAh7CSIQX2NzcmZfdG9rZW4iMXIxS0pBNXhCZENOZzNuRzZtK0NjYmRubmh1R1V6MkZrdFpBdkJVUXNxTmM9Ig9zZXNzaW9uX2lkIiUyZmI2MDE4MDBjMDJlNmY1ZWJiZGFmNjY2OWFmNmJhZSIMY2FydF9pZGkGIgpmbGFzaElDOiVBY3Rpb25EaXNwYXRjaDo6Rmxhc2g6OkZsYXNoSGFzaHsGOgtub3RpY2UiKExpbmUgaXRlbSB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQuBjoKQHVzZWRvOghTZXQGOgpAaGFzaHsGOwZU--f07e84312830b7011533c5e08cbce64f61d4bdbb", "path"=>"/"}, "rack.multiprocess"=>false, "REQUEST_URI"=>"http://localhost:3000/carts/wibble", "rack.request.query_hash"=>{}, "SERVER_PORT"=>"3000", "action_controller.instance"=>#<CartsController:0xb6597764 ...>, "rack.session.options"=>{:id=>"2fb601800c02e6f5ebbdaf6669af6bae", :httponly=>true, :expire_after=>nil, :path=>"/", :domain=>nil, :secure=>false}, "REQUEST_METHOD"=>"GET", "rack.request.query_string"=>"", "action_dispatch.request.content_type"=>nil, "rack.input"=>#<StringIO:0xb661b35c>, "QUERY_STRING"=>"", "GATEWAY_INTERFACE"=>"CGI/1.1"}, @filtered_parameters={"action"=>"show", "id"=>"wibble", "controller"=>"carts"}, @method="GET", @request_method="GET", @fullpath="/carts/wibble">, @length=0, @body=[], @status=200, @writer=#<Proc:0xb6c31520@/home/rubys/git/rails/actionpack/lib/action_dispatch/http/response.rb:44>, @etag=nil, @header={}, @block=nil>, @_initialized_process_action_callbacks=true, @config=#<OrderedHash {}>, @_action_name="show", @_params={"action"=>"show", "id"=>"wibble", "controller"=>"carts"}, @_env={"action_dispatch.request.formats"=>[#<Mime::Type:0xb7030b1c @synonyms=["application/xhtml+xml"], @string="text/html", @symbol=:html>], "action_dispatch.request.parameters"=>{"action"=>"show", "id"=>"wibble", "controller"=>"carts"}, "rack.session"=>{"_csrf_token"=>"r1KJA5xBdCNg3nG6m+CcbdnnhuGUz2FktZAvBUQsqNc=", "session_id"=>"2fb601800c02e6f5ebbdaf6669af6bae", "cart_id"=>1}, "HTTP_HOST"=>"localhost:3000", "HTTP_ACCEPT"=>"text/html", "SERVER_NAME"=>"localhost", "rack.request.cookie_hash"=>{"HttpOnly"=>nil, "_depot_session"=>"BAh7CSIQX2NzcmZfdG9rZW4iMXIxS0pBNXhCZENOZzNuRzZtK0NjYmRubmh1R1V6MkZrdFpBdkJVUXNxTmM9Ig9zZXNzaW9uX2lkIiUyZmI2MDE4MDBjMDJlNmY1ZWJiZGFmNjY2OWFmNmJhZSIMY2FydF9pZGkGIgpmbGFzaElDOiVBY3Rpb25EaXNwYXRjaDo6Rmxhc2g6OkZsYXNoSGFzaHsGOgtub3RpY2UiKExpbmUgaXRlbSB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQuBjoKQHVzZWRvOghTZXQGOgpAaGFzaHsGOwZU--f07e84312830b7011533c5e08cbce64f61d4bdbb", "path"=>"/"}, "action_dispatch.remote_ip"=>#<ActionDispatch::RemoteIp::RemoteIpGetter:0xb661a4ac @env={...}, @trusted_proxies=/(^127\.0\.0\.1$|^(10|172\.(1[6-9]|2[0-9]|30|31)|192\.168)\.)/i, @check_ip_spoofing=true>, "REQUEST_PATH"=>"/", "rack.url_scheme"=>"http", "REMOTE_HOST"=>"localhost", "action_dispatch.request.query_parameters"=>{}, "rack.errors"=>#<IO:0xb75f5174>, "SERVER_PROTOCOL"=>"HTTP/1.1", "action_dispatch.request.accepts"=>[#<Mime::Type:0xb7030b1c @synonyms=["application/xhtml+xml"], @string="text/html", @symbol=:html>], "action_dispatch.secret_token"=>"21d0fd931f5c004bf7c6c1dbadeb0271123557a574f21d744399d91c6a47c1ee14eeabd5eddd2d5ef8a07d4cf2b705fd00b48d6f4a3ae22c9b86b0822b563e7a", "rack.version"=>[1, 1], "rack.run_once"=>false, "SERVER_SOFTWARE"=>"WEBrick/1.3.1 (Ruby/1.8.8/2010-06-05)", "REMOTE_ADDR"=>"127.0.0.1", "PATH_INFO"=>"/carts/wibble", "action_dispatch.request.path_parameters"=>{:id=>"wibble", :controller=>"carts", :action=>"show"}, "rack.request.cookie_string"=>"_depot_session=BAh7CSIQX2NzcmZfdG9rZW4iMXIxS0pBNXhCZENOZzNuRzZtK0NjYmRubmh1R1V6MkZrdFpBdkJVUXNxTmM9Ig9zZXNzaW9uX2lkIiUyZmI2MDE4MDBjMDJlNmY1ZWJiZGFmNjY2OWFmNmJhZSIMY2FydF9pZGkGIgpmbGFzaElDOiVBY3Rpb25EaXNwYXRjaDo6Rmxhc2g6OkZsYXNoSGFzaHsGOgtub3RpY2UiKExpbmUgaXRlbSB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQuBjoKQHVzZWRvOghTZXQGOgpAaGFzaHsGOwZU--f07e84312830b7011533c5e08cbce64f61d4bdbb; path=/; HttpOnly", "SCRIPT_NAME"=>"", "action_dispatch.parameter_filter"=>[:password], "HTTP_VERSION"=>"HTTP/1.1", "rack.multithread"=>false, "HTTP_COOKIE"=>"_depot_session=BAh7CSIQX2NzcmZfdG9rZW4iMXIxS0pBNXhCZENOZzNuRzZtK0NjYmRubmh1R1V6MkZrdFpBdkJVUXNxTmM9Ig9zZXNzaW9uX2lkIiUyZmI2MDE4MDBjMDJlNmY1ZWJiZGFmNjY2OWFmNmJhZSIMY2FydF9pZGkGIgpmbGFzaElDOiVBY3Rpb25EaXNwYXRjaDo6Rmxhc2g6OkZsYXNoSGFzaHsGOgtub3RpY2UiKExpbmUgaXRlbSB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQuBjoKQHVzZWRvOghTZXQGOgpAaGFzaHsGOwZU--f07e84312830b7011533c5e08cbce64f61d4bdbb; path=/; HttpOnly", "action_dispatch.request.request_parameters"=>{}, "action_dispatch.cookies"=>{"HttpOnly"=>nil, "_depot_session"=>"BAh7CSIQX2NzcmZfdG9rZW4iMXIxS0pBNXhCZENOZzNuRzZtK0NjYmRubmh1R1V6MkZrdFpBdkJVUXNxTmM9Ig9zZXNzaW9uX2lkIiUyZmI2MDE4MDBjMDJlNmY1ZWJiZGFmNjY2OWFmNmJhZSIMY2FydF9pZGkGIgpmbGFzaElDOiVBY3Rpb25EaXNwYXRjaDo6Rmxhc2g6OkZsYXNoSGFzaHsGOgtub3RpY2UiKExpbmUgaXRlbSB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQuBjoKQHVzZWRvOghTZXQGOgpAaGFzaHsGOwZU--f07e84312830b7011533c5e08cbce64f61d4bdbb", "path"=>"/"}, "rack.multiprocess"=>false, "REQUEST_URI"=>"http://localhost:3000/carts/wibble", "rack.request.query_hash"=>{}, "SERVER_PORT"=>"3000", "action_controller.instance"=>#<CartsController:0xb6597764 ...>, "rack.session.options"=>{:id=>"2fb601800c02e6f5ebbdaf6669af6bae", :httponly=>true, :expire_after=>nil, :path=>"/", :domain=>nil, :secure=>false}, "REQUEST_METHOD"=>"GET", "rack.request.query_string"=>"", "action_dispatch.request.content_type"=>nil, "rack.input"=>#<StringIO:0xb661b35c>, "QUERY_STRING"=>"", "GATEWAY_INTERFACE"=>"CGI/1.1"}, @_status=200, @_response_body=nil, @lookup_context=#<ActionView::LookupContext:0xb659741c @skip_default_locale=false, @frozen_formats=false, @details={:locale=>[:en, :en], :formats=>[:html], :handlers=>[:rjs, :erb, :rhtml, :builder, :rxml]}, @view_paths=[#<ActionView::FileSystemResolver:0xb6b5c80c @caching=false, @path=#<Pathname:/home/rubys/svn/rails4/Book/util/work-188/depot/app/views>, @cached={}>], @details_key=nil>, @action_has_layout=true>
action_dispatch.cookies: {"HttpOnly"=>nil, "_depot_session"=>"BAh7CSIQX2NzcmZfdG9rZW4iMXIxS0pBNXhCZENOZzNuRzZtK0NjYmRubmh1R1V6MkZrdFpBdkJVUXNxTmM9Ig9zZXNzaW9uX2lkIiUyZmI2MDE4MDBjMDJlNmY1ZWJiZGFmNjY2OWFmNmJhZSIMY2FydF9pZGkGIgpmbGFzaElDOiVBY3Rpb25EaXNwYXRjaDo6Rmxhc2g6OkZsYXNoSGFzaHsGOgtub3RpY2UiKExpbmUgaXRlbSB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQuBjoKQHVzZWRvOghTZXQGOgpAaGFzaHsGOwZU--f07e84312830b7011533c5e08cbce64f61d4bdbb", "path"=>"/"}
action_dispatch.parameter_filter: [:password]
action_dispatch.remote_ip: #<ActionDispatch::RemoteIp::RemoteIpGetter:0xb661a4ac @env={"action_dispatch.request.formats"=>[#<Mime::Type:0xb7030b1c @synonyms=["application/xhtml+xml"], @string="text/html", @symbol=:html>], "action_dispatch.request.parameters"=>{"action"=>"show", "id"=>"wibble", "controller"=>"carts"}, "rack.session"=>{"_csrf_token"=>"r1KJA5xBdCNg3nG6m+CcbdnnhuGUz2FktZAvBUQsqNc=", "session_id"=>"2fb601800c02e6f5ebbdaf6669af6bae", "cart_id"=>1}, "HTTP_HOST"=>"localhost:3000", "HTTP_ACCEPT"=>"text/html", "SERVER_NAME"=>"localhost", "rack.request.cookie_hash"=>{"HttpOnly"=>nil, "_depot_session"=>"BAh7CSIQX2NzcmZfdG9rZW4iMXIxS0pBNXhCZENOZzNuRzZtK0NjYmRubmh1R1V6MkZrdFpBdkJVUXNxTmM9Ig9zZXNzaW9uX2lkIiUyZmI2MDE4MDBjMDJlNmY1ZWJiZGFmNjY2OWFmNmJhZSIMY2FydF9pZGkGIgpmbGFzaElDOiVBY3Rpb25EaXNwYXRjaDo6Rmxhc2g6OkZsYXNoSGFzaHsGOgtub3RpY2UiKExpbmUgaXRlbSB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQuBjoKQHVzZWRvOghTZXQGOgpAaGFzaHsGOwZU--f07e84312830b7011533c5e08cbce64f61d4bdbb", "path"=>"/"}, "action_dispatch.remote_ip"=>#<ActionDispatch::RemoteIp::RemoteIpGetter:0xb661a4ac ...>, "REQUEST_PATH"=>"/", "rack.url_scheme"=>"http", "REMOTE_HOST"=>"localhost", "action_dispatch.request.query_parameters"=>{}, "rack.errors"=>#<IO:0xb75f5174>, "SERVER_PROTOCOL"=>"HTTP/1.1", "action_dispatch.request.accepts"=>[#<Mime::Type:0xb7030b1c @synonyms=["application/xhtml+xml"], @string="text/html", @symbol=:html>], "action_dispatch.secret_token"=>"21d0fd931f5c004bf7c6c1dbadeb0271123557a574f21d744399d91c6a47c1ee14eeabd5eddd2d5ef8a07d4cf2b705fd00b48d6f4a3ae22c9b86b0822b563e7a", "rack.version"=>[1, 1], "rack.run_once"=>false, "SERVER_SOFTWARE"=>"WEBrick/1.3.1 (Ruby/1.8.8/2010-06-05)", "REMOTE_ADDR"=>"127.0.0.1", "PATH_INFO"=>"/carts/wibble", "action_dispatch.request.path_parameters"=>{:id=>"wibble", :controller=>"carts", :action=>"show"}, "rack.request.cookie_string"=>"_depot_session=BAh7CSIQX2NzcmZfdG9rZW4iMXIxS0pBNXhCZENOZzNuRzZtK0NjYmRubmh1R1V6MkZrdFpBdkJVUXNxTmM9Ig9zZXNzaW9uX2lkIiUyZmI2MDE4MDBjMDJlNmY1ZWJiZGFmNjY2OWFmNmJhZSIMY2FydF9pZGkGIgpmbGFzaElDOiVBY3Rpb25EaXNwYXRjaDo6Rmxhc2g6OkZsYXNoSGFzaHsGOgtub3RpY2UiKExpbmUgaXRlbSB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQuBjoKQHVzZWRvOghTZXQGOgpAaGFzaHsGOwZU--f07e84312830b7011533c5e08cbce64f61d4bdbb; path=/; HttpOnly", "SCRIPT_NAME"=>"", "action_dispatch.parameter_filter"=>[:password], "HTTP_VERSION"=>"HTTP/1.1", "rack.multithread"=>false, "HTTP_COOKIE"=>"_depot_session=BAh7CSIQX2NzcmZfdG9rZW4iMXIxS0pBNXhCZENOZzNuRzZtK0NjYmRubmh1R1V6MkZrdFpBdkJVUXNxTmM9Ig9zZXNzaW9uX2lkIiUyZmI2MDE4MDBjMDJlNmY1ZWJiZGFmNjY2OWFmNmJhZSIMY2FydF9pZGkGIgpmbGFzaElDOiVBY3Rpb25EaXNwYXRjaDo6Rmxhc2g6OkZsYXNoSGFzaHsGOgtub3RpY2UiKExpbmUgaXRlbSB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQuBjoKQHVzZWRvOghTZXQGOgpAaGFzaHsGOwZU--f07e84312830b7011533c5e08cbce64f61d4bdbb; path=/; HttpOnly", "action_dispatch.request.request_parameters"=>{}, "action_dispatch.cookies"=>{"HttpOnly"=>nil, "_depot_session"=>"BAh7CSIQX2NzcmZfdG9rZW4iMXIxS0pBNXhCZENOZzNuRzZtK0NjYmRubmh1R1V6MkZrdFpBdkJVUXNxTmM9Ig9zZXNzaW9uX2lkIiUyZmI2MDE4MDBjMDJlNmY1ZWJiZGFmNjY2OWFmNmJhZSIMY2FydF9pZGkGIgpmbGFzaElDOiVBY3Rpb25EaXNwYXRjaDo6Rmxhc2g6OkZsYXNoSGFzaHsGOgtub3RpY2UiKExpbmUgaXRlbSB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQuBjoKQHVzZWRvOghTZXQGOgpAaGFzaHsGOwZU--f07e84312830b7011533c5e08cbce64f61d4bdbb", "path"=>"/"}, "rack.multiprocess"=>false, "REQUEST_URI"=>"http://localhost:3000/carts/wibble", "rack.request.query_hash"=>{}, "SERVER_PORT"=>"3000", "action_controller.instance"=>#<CartsController:0xb6597764 @_request=#<ActionDispatch::Request:0xb6597700 @env={...}, @filtered_parameters={"action"=>"show", "id"=>"wibble", "controller"=>"carts"}, @method="GET", @request_method="GET", @fullpath="/carts/wibble">, @_headers={"Content-Type"=>"text/html"}, @view_context_class=nil, @_response=#<ActionDispatch::Response:0xb659769c @blank=false, @sending_file=false, @cache_control={}, @cookie=[], @request=#<ActionDispatch::Request:0xb6597700 @env={...}, @filtered_parameters={"action"=>"show", "id"=>"wibble", "controller"=>"carts"}, @method="GET", @request_method="GET", @fullpath="/carts/wibble">, @length=0, @body=[], @status=200, @writer=#<Proc:0xb6c31520@/home/rubys/git/rails/actionpack/lib/action_dispatch/http/response.rb:44>, @etag=nil, @header={}, @block=nil>, @_initialized_process_action_callbacks=true, @config=#<OrderedHash {}>, @_action_name="show", @_params={"action"=>"show", "id"=>"wibble", "controller"=>"carts"}, @_env={...}, @_status=200, @_response_body=nil, @lookup_context=#<ActionView::LookupContext:0xb659741c @skip_default_locale=false, @frozen_formats=false, @details={:locale=>[:en, :en], :formats=>[:html], :handlers=>[:rjs, :erb, :rhtml, :builder, :rxml]}, @view_paths=[#<ActionView::FileSystemResolver:0xb6b5c80c @caching=false, @path=#<Pathname:/home/rubys/svn/rails4/Book/util/work-188/depot/app/views>, @cached={}>], @details_key=nil>, @action_has_layout=true>, "rack.session.options"=>{:id=>"2fb601800c02e6f5ebbdaf6669af6bae", :httponly=>true, :expire_after=>nil, :path=>"/", :domain=>nil, :secure=>false}, "REQUEST_METHOD"=>"GET", "rack.request.query_string"=>"", "action_dispatch.request.content_type"=>nil, "rack.input"=>#<StringIO:0xb661b35c>, "QUERY_STRING"=>"", "GATEWAY_INTERFACE"=>"CGI/1.1"}, @trusted_proxies=/(^127\.0\.0\.1$|^(10|172\.(1[6-9]|2[0-9]|30|31)|192\.168)\.)/i, @check_ip_spoofing=true>
action_dispatch.request.accepts: [#<Mime::Type:0xb7030b1c @synonyms=["application/xhtml+xml"], @string="text/html", @symbol=:html>]
action_dispatch.request.content_type: nil
action_dispatch.request.formats: [#<Mime::Type:0xb7030b1c @synonyms=["application/xhtml+xml"], @string="text/html", @symbol=:html>]
action_dispatch.request.parameters: {"action"=>"show", "id"=>"wibble", "controller"=>"carts"}
action_dispatch.request.path_parameters: {:id=>"wibble", :controller=>"carts", :action=>"show"}
action_dispatch.request.query_parameters: {}
action_dispatch.request.request_parameters: {}
action_dispatch.secret_token: "21d0fd931f5c004bf7c6c1dbadeb0271123557a574f21d744399d91c6a47c1ee14eeabd5eddd2d5ef8a07d4cf2b705fd00b48d6f4a3ae22c9b86b0822b563e7a"
rack.errors: #<IO:0xb75f5174>
rack.input: #<StringIO:0xb661b35c>
rack.multiprocess: false
rack.multithread: false
rack.request.cookie_hash: {"HttpOnly"=>nil, "_depot_session"=>"BAh7CSIQX2NzcmZfdG9rZW4iMXIxS0pBNXhCZENOZzNuRzZtK0NjYmRubmh1R1V6MkZrdFpBdkJVUXNxTmM9Ig9zZXNzaW9uX2lkIiUyZmI2MDE4MDBjMDJlNmY1ZWJiZGFmNjY2OWFmNmJhZSIMY2FydF9pZGkGIgpmbGFzaElDOiVBY3Rpb25EaXNwYXRjaDo6Rmxhc2g6OkZsYXNoSGFzaHsGOgtub3RpY2UiKExpbmUgaXRlbSB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQuBjoKQHVzZWRvOghTZXQGOgpAaGFzaHsGOwZU--f07e84312830b7011533c5e08cbce64f61d4bdbb", "path"=>"/"}
rack.request.cookie_string: "_depot_session=BAh7CSIQX2NzcmZfdG9rZW4iMXIxS0pBNXhCZENOZzNuRzZtK0NjYmRubmh1R1V6MkZrdFpBdkJVUXNxTmM9Ig9zZXNzaW9uX2lkIiUyZmI2MDE4MDBjMDJlNmY1ZWJiZGFmNjY2OWFmNmJhZSIMY2FydF9pZGkGIgpmbGFzaElDOiVBY3Rpb25EaXNwYXRjaDo6Rmxhc2g6OkZsYXNoSGFzaHsGOgtub3RpY2UiKExpbmUgaXRlbSB3YXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQuBjoKQHVzZWRvOghTZXQGOgpAaGFzaHsGOwZU--f07e84312830b7011533c5e08cbce64f61d4bdbb; path=/; HttpOnly"
rack.request.query_hash: {}
rack.request.query_string: ""
rack.run_once: false
rack.session: {"_csrf_token"=>"r1KJA5xBdCNg3nG6m+CcbdnnhuGUz2FktZAvBUQsqNc=", "session_id"=>"2fb601800c02e6f5ebbdaf6669af6bae", "cart_id"=>1}
rack.session.options: {:id=>"2fb601800c02e6f5ebbdaf6669af6bae", :httponly=>true, :expire_after=>nil, :path=>"/", :domain=>nil, :secure=>false}
rack.url_scheme: "http"
rack.version: [1, 1]