debug

#<Vanilla::Request:0x00007f19f8d09328 @env={"rack.version"=>[1, 3], "rack.errors"=>#<IO:<STDERR>>, "rack.multithread"=>true, "rack.multiprocess"=>false, "rack.run_once"=>false, "SCRIPT_NAME"=>"", "QUERY_STRING"=>"", "SERVER_PROTOCOL"=>"HTTP/1.1", "SERVER_SOFTWARE"=>"puma 4.3.5 Mysterious Traveller", "GATEWAY_INTERFACE"=>"CGI/1.2", "REQUEST_METHOD"=>"GET", "REQUEST_PATH"=>"/debug", "REQUEST_URI"=>"/debug", "HTTP_VERSION"=>"HTTP/1.1", "HTTP_HOST"=>"interblah.net", "HTTP_X_FORWARDED_FOR"=>"18.117.186.92", "HTTP_X_FORWARDED_PORT"=>"443", "HTTP_X_FORWARDED_PROTO"=>"https", "HTTP_X_REQUEST_START"=>"1713872528.472", "HTTP_ACCEPT"=>"*/*", "HTTP_USER_AGENT"=>"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "puma.request_body_wait"=>0, "SERVER_NAME"=>"interblah.net", "SERVER_PORT"=>"443", "PATH_INFO"=>"/debug", "REMOTE_ADDR"=>"172.17.0.1", "puma.socket"=>#<TCPSocket:fd 13, AF_INET, 172.17.0.30, 5000>, "rack.hijack?"=>true, "rack.hijack"=>#<Puma::Client:0x1ff438d10 @ready=true>, "rack.input"=>#<Puma::NullIO:0x00007f1a3583f558>, "rack.url_scheme"=>"https", "rack.after_reply"=>[], "puma.config"=>#<Puma::Configuration:0x00007f1a3583d640 @options=#<Puma::UserFileDefaultOptions:0x00007f1a3583d000 @user_options={:environment=>"development"}, @file_options={:config_files=>["puma.config.rb"], :min_threads=>5, :max_threads=>5, :binds=>["tcp://0.0.0.0:5000"], :environment=>"development"}, @default_options={:min_threads=>0, :max_threads=>16, :log_requests=>false, :debug=>false, :binds=>["tcp://0.0.0.0:9292"], :workers=>0, :daemon=>false, :mode=>:http, :worker_timeout=>60, :worker_boot_timeout=>60, :worker_shutdown_timeout=>30, :remote_address=>:socket, :tag=>"app", :environment=>"production", :rackup=>"config.ru", :logger=>#<IO:<STDOUT>>, :persistent_timeout=>20, :first_data_timeout=>30, :raise_exception_on_sigterm=>true}>, @plugins=#<Puma::PluginLoader:0x00007f1a3583cf38 @instances=[#<#<Class:0x00007f1a357f9378>:0x00007f1a357f90a8 @loader=Puma::Plugin>]>, @user_dsl=#<Puma::DSL:0x00007f1a3583cd08 @config=#<Puma::Configuration:0x00007f1a3583d640 ...>, @options={:environment=>"development"}, @plugins=[]>, @file_dsl=#<Puma::DSL:0x00007f1a3583c3a8 @config=#<Puma::Configuration:0x00007f1a3583d640 ...>, @options={:config_files=>["puma.config.rb"], :min_threads=>5, :max_threads=>5, :binds=>["tcp://0.0.0.0:5000"], :environment=>"development"}, @plugins=[], @path="puma.config.rb">, @default_dsl=#<Puma::DSL:0x00007f1a3583c2e0 @config=#<Puma::Configuration:0x00007f1a3583d640 ...>, @options={:min_threads=>0, :max_threads=>16, :log_requests=>false, :debug=>false, :binds=>["tcp://0.0.0.0:9292"], :workers=>0, :daemon=>false, :mode=>:http, :worker_timeout=>60, :worker_boot_timeout=>60, :worker_shutdown_timeout=>30, :remote_address=>:socket, :tag=>"app", :environment=>"production", :rackup=>"config.ru", :logger=>#<IO:<STDOUT>>, :persistent_timeout=>20, :first_data_timeout=>30, :raise_exception_on_sigterm=>true}, @plugins=[]>>, "vanilla.app"=>#<Application:0x00007f1a34544188 @renderers={"base"=>Vanilla::Renderers::Base, "markdown"=>Vanilla::Renderers::Kramdown, "bold"=>Vanilla::Renderers::Bold, "erb"=>Vanilla::Renderers::Erb, "rb"=>Vanilla::Renderers::Ruby, "ruby"=>Vanilla::Renderers::Ruby, "haml"=>Vanilla::Renderers::Haml, "raw"=>Vanilla::Renderers::Raw, "textile"=>Vanilla::Renderers::Textile}, @soup=#<Soup:0x00007f1a34e488b0 @backend=#<Soup::Backends::MultiSoup:0x00007f1a34e489a0 @backends=[#<Soup::Backends::MultiSoup:0x00007f1a34e497b0 @backends=[#<Soup::Backends::FileBackend:0x00007f1a34e4b4e8 @base_path="/app/soups/blog">, #<Soup::Backends::FileBackend:0x00007f1a34e4b290 @base_path="/app/soups/wiki">, #<Soup::Backends::FileBackend:0x00007f1a34e4b128 @base_path="/app/soups/essays">, #<Soup::Backends::FileBackend:0x00007f1a34e4afc0 @base_path="/app/soups/tutorial">, #<Soup::Backends::FileBackend:0x00007f1a34e4ae58 @base_path="/app/soups/drafts">]>, #<Soup::Backends::FileBackend:0x00007f1a34e49300 @base_path="/app/soups">, #<Soup::Backends::FileBackend:0x00007f1a34e49198 @base_path="/app/soups/dynasnips">, #<Soup::Backends::FileBackend:0x00007f1a34e49058 @base_path="/app/soups/site">, #<Soup::Backends::FileBackend:0x00007f1a34e48e78 @base_path="/app/soups/system">]>>, @request=#<Vanilla::Request:0x00007f19f8d09328 ...>, @response=#<Rack::Response:0x00007f19f8d09080 @status=200, @headers={}, @writer=#<Method: Rack::Response(Rack::Response::Helpers)#append(chunk) /app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.3/lib/rack/response.rb:287>, @block=nil, @body=[], @buffered=true, @length=0>>, "rack.request.query_string"=>"", "rack.request.query_hash"=>{}}, @rack_request=#<Rack::Request:0x00007f19f8d09300 @params={}, @env={"rack.version"=>[1, 3], "rack.errors"=>#<IO:<STDERR>>, "rack.multithread"=>true, "rack.multiprocess"=>false, "rack.run_once"=>false, "SCRIPT_NAME"=>"", "QUERY_STRING"=>"", "SERVER_PROTOCOL"=>"HTTP/1.1", "SERVER_SOFTWARE"=>"puma 4.3.5 Mysterious Traveller", "GATEWAY_INTERFACE"=>"CGI/1.2", "REQUEST_METHOD"=>"GET", "REQUEST_PATH"=>"/debug", "REQUEST_URI"=>"/debug", "HTTP_VERSION"=>"HTTP/1.1", "HTTP_HOST"=>"interblah.net", "HTTP_X_FORWARDED_FOR"=>"18.117.186.92", "HTTP_X_FORWARDED_PORT"=>"443", "HTTP_X_FORWARDED_PROTO"=>"https", "HTTP_X_REQUEST_START"=>"1713872528.472", "HTTP_ACCEPT"=>"*/*", "HTTP_USER_AGENT"=>"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "puma.request_body_wait"=>0, "SERVER_NAME"=>"interblah.net", "SERVER_PORT"=>"443", "PATH_INFO"=>"/debug", "REMOTE_ADDR"=>"172.17.0.1", "puma.socket"=>#<TCPSocket:fd 13, AF_INET, 172.17.0.30, 5000>, "rack.hijack?"=>true, "rack.hijack"=>#<Puma::Client:0x1ff438d10 @ready=true>, "rack.input"=>#<Puma::NullIO:0x00007f1a3583f558>, "rack.url_scheme"=>"https", "rack.after_reply"=>[], "puma.config"=>#<Puma::Configuration:0x00007f1a3583d640 @options=#<Puma::UserFileDefaultOptions:0x00007f1a3583d000 @user_options={:environment=>"development"}, @file_options={:config_files=>["puma.config.rb"], :min_threads=>5, :max_threads=>5, :binds=>["tcp://0.0.0.0:5000"], :environment=>"development"}, @default_options={:min_threads=>0, :max_threads=>16, :log_requests=>false, :debug=>false, :binds=>["tcp://0.0.0.0:9292"], :workers=>0, :daemon=>false, :mode=>:http, :worker_timeout=>60, :worker_boot_timeout=>60, :worker_shutdown_timeout=>30, :remote_address=>:socket, :tag=>"app", :environment=>"production", :rackup=>"config.ru", :logger=>#<IO:<STDOUT>>, :persistent_timeout=>20, :first_data_timeout=>30, :raise_exception_on_sigterm=>true}>, @plugins=#<Puma::PluginLoader:0x00007f1a3583cf38 @instances=[#<#<Class:0x00007f1a357f9378>:0x00007f1a357f90a8 @loader=Puma::Plugin>]>, @user_dsl=#<Puma::DSL:0x00007f1a3583cd08 @config=#<Puma::Configuration:0x00007f1a3583d640 ...>, @options={:environment=>"development"}, @plugins=[]>, @file_dsl=#<Puma::DSL:0x00007f1a3583c3a8 @config=#<Puma::Configuration:0x00007f1a3583d640 ...>, @options={:config_files=>["puma.config.rb"], :min_threads=>5, :max_threads=>5, :binds=>["tcp://0.0.0.0:5000"], :environment=>"development"}, @plugins=[], @path="puma.config.rb">, @default_dsl=#<Puma::DSL:0x00007f1a3583c2e0 @config=#<Puma::Configuration:0x00007f1a3583d640 ...>, @options={:min_threads=>0, :max_threads=>16, :log_requests=>false, :debug=>false, :binds=>["tcp://0.0.0.0:9292"], :workers=>0, :daemon=>false, :mode=>:http, :worker_timeout=>60, :worker_boot_timeout=>60, :worker_shutdown_timeout=>30, :remote_address=>:socket, :tag=>"app", :environment=>"production", :rackup=>"config.ru", :logger=>#<IO:<STDOUT>>, :persistent_timeout=>20, :first_data_timeout=>30, :raise_exception_on_sigterm=>true}, @plugins=[]>>, "vanilla.app"=>#<Application:0x00007f1a34544188 @renderers={"base"=>Vanilla::Renderers::Base, "markdown"=>Vanilla::Renderers::Kramdown, "bold"=>Vanilla::Renderers::Bold, "erb"=>Vanilla::Renderers::Erb, "rb"=>Vanilla::Renderers::Ruby, "ruby"=>Vanilla::Renderers::Ruby, "haml"=>Vanilla::Renderers::Haml, "raw"=>Vanilla::Renderers::Raw, "textile"=>Vanilla::Renderers::Textile}, @soup=#<Soup:0x00007f1a34e488b0 @backend=#<Soup::Backends::MultiSoup:0x00007f1a34e489a0 @backends=[#<Soup::Backends::MultiSoup:0x00007f1a34e497b0 @backends=[#<Soup::Backends::FileBackend:0x00007f1a34e4b4e8 @base_path="/app/soups/blog">, #<Soup::Backends::FileBackend:0x00007f1a34e4b290 @base_path="/app/soups/wiki">, #<Soup::Backends::FileBackend:0x00007f1a34e4b128 @base_path="/app/soups/essays">, #<Soup::Backends::FileBackend:0x00007f1a34e4afc0 @base_path="/app/soups/tutorial">, #<Soup::Backends::FileBackend:0x00007f1a34e4ae58 @base_path="/app/soups/drafts">]>, #<Soup::Backends::FileBackend:0x00007f1a34e49300 @base_path="/app/soups">, #<Soup::Backends::FileBackend:0x00007f1a34e49198 @base_path="/app/soups/dynasnips">, #<Soup::Backends::FileBackend:0x00007f1a34e49058 @base_path="/app/soups/site">, #<Soup::Backends::FileBackend:0x00007f1a34e48e78 @base_path="/app/soups/system">]>>, @request=#<Vanilla::Request:0x00007f19f8d09328 ...>, @response=#<Rack::Response:0x00007f19f8d09080 @status=200, @headers={}, @writer=#<Method: Rack::Response(Rack::Response::Helpers)#append(chunk) /app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.3/lib/rack/response.rb:287>, @block=nil, @body=[], @buffered=true, @length=0>>, "rack.request.query_string"=>"", "rack.request.query_hash"=>{}}>, @app=#<Application:0x00007f1a34544188 @renderers={"base"=>Vanilla::Renderers::Base, "markdown"=>Vanilla::Renderers::Kramdown, "bold"=>Vanilla::Renderers::Bold, "erb"=>Vanilla::Renderers::Erb, "rb"=>Vanilla::Renderers::Ruby, "ruby"=>Vanilla::Renderers::Ruby, "haml"=>Vanilla::Renderers::Haml, "raw"=>Vanilla::Renderers::Raw, "textile"=>Vanilla::Renderers::Textile}, @soup=#<Soup:0x00007f1a34e488b0 @backend=#<Soup::Backends::MultiSoup:0x00007f1a34e489a0 @backends=[#<Soup::Backends::MultiSoup:0x00007f1a34e497b0 @backends=[#<Soup::Backends::FileBackend:0x00007f1a34e4b4e8 @base_path="/app/soups/blog">, #<Soup::Backends::FileBackend:0x00007f1a34e4b290 @base_path="/app/soups/wiki">, #<Soup::Backends::FileBackend:0x00007f1a34e4b128 @base_path="/app/soups/essays">, #<Soup::Backends::FileBackend:0x00007f1a34e4afc0 @base_path="/app/soups/tutorial">, #<Soup::Backends::FileBackend:0x00007f1a34e4ae58 @base_path="/app/soups/drafts">]>, #<Soup::Backends::FileBackend:0x00007f1a34e49300 @base_path="/app/soups">, #<Soup::Backends::FileBackend:0x00007f1a34e49198 @base_path="/app/soups/dynasnips">, #<Soup::Backends::FileBackend:0x00007f1a34e49058 @base_path="/app/soups/site">, #<Soup::Backends::FileBackend:0x00007f1a34e48e78 @base_path="/app/soups/system">]>>, @request=#<Vanilla::Request:0x00007f19f8d09328 ...>, @response=#<Rack::Response:0x00007f19f8d09080 @status=200, @headers={}, @writer=#<Method: Rack::Response(Rack::Response::Helpers)#append(chunk) /app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.3/lib/rack/response.rb:287>, @block=nil, @body=[], @buffered=true, @length=0>>, @snip_name="debug", @part=nil, @format="html", @symbolised_params={}, @method="get">