Created
October 18, 2013 23:44
-
-
Save scottcorgan/7049894 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
nv = env\n</li>\n \n <li onclick="toggle(\'pre70352448150660\', \'post70352448150660\')"> before\n</li>\n \n <li onclick="toggle(\'pre70352448150660\', \'post70352448150660\')"> @app_response = @app.call(@env)\n</li>\n \n </ol>\n \n\n <ol start="25" class="context-line">\n <li onclick="toggle(\'pre70352448150660\', \'post70352448150660\')"> after || @app_response<span>...</span></li></ol>\n\n \n <ol start=\'26\' class="post-context" id="post70352448150660">\n \n <li onclick="toggle(\'pre70352448150660\', \'post70352448150660\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448150660\', \'post70352448150660\')">\n</li>\n \n <li onclick="toggle(\'pre70352448150660\', \'post70352448150660\')"> # @abstract\n</li>\n \n <li onclick="toggle(\'pre70352448150660\', \'post70352448150660\')"> # Called before the application is called in the middleware lifecycle.\n</li>\n \n <li onclick="toggle(\'pre70352448150660\', \'post70352448150660\')"> def before; end\n</li>\n \n <li onclick="toggle(\'pre70352448150660\', \'post70352448150660\')"> # @abstract\n</li>\n \n <li onclick="toggle(\'pre70352448150660\', \'post70352448150660\')"> # Called after the application is called in the middleware lifecycle.\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/grape-0.6.0/lib/grape/middleware/base.rb</code>: in <code>call</code>\n\n \n <div class="context" id="c70352448144020">\n \n <ol start="11" class="pre-context" id="pre70352448144020">\n \n <li onclick="toggle(\'pre70352448144020\', \'post70352448144020\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448144020\', \'post70352448144020\')">\n</li>\n \n <li onclick="toggle(\'pre70352448144020\', \'post70352448144020\')"> def default_options\n</li>\n \n <li onclick="toggle(\'pre70352448144020\', \'post70352448144020\')"> {}\n</li>\n \n <li onclick="toggle(\'pre70352448144020\', \'post70352448144020\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448144020\', \'post70352448144020\')">\n</li>\n \n <li onclick="toggle(\'pre70352448144020\', \'post70352448144020\')"> def call(env)\n</li>\n \n </ol>\n \n\n <ol start="18" class="context-line">\n <li onclick="toggle(\'pre70352448144020\', \'post70352448144020\')"> dup.call!(env)<span>...</span></li></ol>\n\n \n <ol start=\'19\' class="post-context" id="post70352448144020">\n \n <li onclick="toggle(\'pre70352448144020\', \'post70352448144020\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448144020\', \'post70352448144020\')">\n</li>\n \n <li onclick="toggle(\'pre70352448144020\', \'post70352448144020\')"> def call!(env)\n</li>\n \n <li onclick="toggle(\'pre70352448144020\', \'post70352448144020\')"> @env = env\n</li>\n \n <li onclick="toggle(\'pre70352448144020\', \'post70352448144020\')"> before\n</li>\n \n <li onclick="toggle(\'pre70352448144020\', \'post70352448144020\')"> @app_response = @app.call(@env)\n</li>\n \n <li onclick="toggle(\'pre70352448144020\', \'post70352448144020\')"> after || @app_response\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/grape-0.6.0/lib/grape/middleware/base.rb</code>: in <code>call!</code>\n\n \n <div class="context" id="c70352448162400">\n \n <ol start="17" class="pre-context" id="pre70352448162400">\n \n <li onclick="toggle(\'pre70352448162400\', \'post70352448162400\')"> def call(env)\n</li>\n \n <li onclick="toggle(\'pre70352448162400\', \'post70352448162400\')"> dup.call!(env)\n</li>\n \n <li onclick="toggle(\'pre70352448162400\', \'post70352448162400\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448162400\', \'post70352448162400\')">\n</li>\n \n <li onclick="toggle(\'pre70352448162400\', \'post70352448162400\')"> def call!(env)\n</li>\n \n <li onclick="toggle(\'pre70352448162400\', \'post70352448162400\')"> @env = env\n</li>\n \n <li onclick="toggle(\'pre70352448162400\', \'post70352448162400\')"> before\n</li>\n \n </ol>\n \n\n <ol start="24" class="context-line">\n <li onclick="toggle(\'pre70352448162400\', \'post70352448162400\')"> @app_response = @app.call(@env)<span>...</span></li></ol>\n\n \n <ol start=\'25\' class="post-context" id="post70352448162400">\n \n <li onclick="toggle(\'pre70352448162400\', \'post70352448162400\')"> after || @app_response\n</li>\n \n <li onclick="toggle(\'pre70352448162400\', \'post70352448162400\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448162400\', \'post70352448162400\')">\n</li>\n \n <li onclick="toggle(\'pre70352448162400\', \'post70352448162400\')"> # @abstract\n</li>\n \n <li onclick="toggle(\'pre70352448162400\', \'post70352448162400\')"> # Called before the application is called in the middleware lifecycle.\n</li>\n \n <li onclick="toggle(\'pre70352448162400\', \'post70352448162400\')"> def before; end\n</li>\n \n <li onclick="toggle(\'pre70352448162400\', \'post70352448162400\')"> # @abstract\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/grape-0.6.0/lib/grape/middleware/base.rb</code>: in <code>call</code>\n\n \n <div class="context" id="c70352448181680">\n \n <ol start="11" class="pre-context" id="pre70352448181680">\n \n <li onclick="toggle(\'pre70352448181680\', \'post70352448181680\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448181680\', \'post70352448181680\')">\n</li>\n \n <li onclick="toggle(\'pre70352448181680\', \'post70352448181680\')"> def default_options\n</li>\n \n <li onclick="toggle(\'pre70352448181680\', \'post70352448181680\')"> {}\n</li>\n \n <li onclick="toggle(\'pre70352448181680\', \'post70352448181680\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448181680\', \'post70352448181680\')">\n</li>\n \n <li onclick="toggle(\'pre70352448181680\', \'post70352448181680\')"> def call(env)\n</li>\n \n </ol>\n \n\n <ol start="18" class="context-line">\n <li onclick="toggle(\'pre70352448181680\', \'post70352448181680\')"> dup.call!(env)<span>...</span></li></ol>\n\n \n <ol start=\'19\' class="post-context" id="post70352448181680">\n \n <li onclick="toggle(\'pre70352448181680\', \'post70352448181680\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448181680\', \'post70352448181680\')">\n</li>\n \n <li onclick="toggle(\'pre70352448181680\', \'post70352448181680\')"> def call!(env)\n</li>\n \n <li onclick="toggle(\'pre70352448181680\', \'post70352448181680\')"> @env = env\n</li>\n \n <li onclick="toggle(\'pre70352448181680\', \'post70352448181680\')"> before\n</li>\n \n <li onclick="toggle(\'pre70352448181680\', \'post70352448181680\')"> @app_response = @app.call(@env)\n</li>\n \n <li onclick="toggle(\'pre70352448181680\', \'post70352448181680\')"> after || @app_response\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/grape-0.6.0/lib/grape/middleware/error.rb</code>: in <code>block in call!</code>\n\n \n <div class="context" id="c70352448199360">\n \n <ol start="19" class="pre-context" id="pre70352448199360">\n \n <li onclick="toggle(\'pre70352448199360\', \'post70352448199360\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448199360\', \'post70352448199360\')">\n</li>\n \n <li onclick="toggle(\'pre70352448199360\', \'post70352448199360\')"> def call!(env)\n</li>\n \n <li onclick="toggle(\'pre70352448199360\', \'post70352448199360\')"> @env = env\n</li>\n \n <li onclick="toggle(\'pre70352448199360\', \'post70352448199360\')">\n</li>\n \n <li onclick="toggle(\'pre70352448199360\', \'post70352448199360\')"> begin\n</li>\n \n <li onclick="toggle(\'pre70352448199360\', \'post70352448199360\')"> error_response(catch(:error){\n</li>\n \n </ol>\n \n\n <ol start="26" class="context-line">\n <li onclick="toggle(\'pre70352448199360\', \'post70352448199360\')"> return @app.call(@env)<span>...</span></li></ol>\n\n \n <ol start=\'27\' class="post-context" id="post70352448199360">\n \n <li onclick="toggle(\'pre70352448199360\', \'post70352448199360\')"> })\n</li>\n \n <li onclick="toggle(\'pre70352448199360\', \'post70352448199360\')"> rescue Exception => e\n</li>\n \n <li onclick="toggle(\'pre70352448199360\', \'post70352448199360\')"> is_rescuable = rescuable?(e.class)\n</li>\n \n <li onclick="toggle(\'pre70352448199360\', \'post70352448199360\')"> if e.is_a?(Grape::Exceptions::Base) && !is_rescuable\n</li>\n \n <li onclick="toggle(\'pre70352448199360\', \'post70352448199360\')"> handler = lambda {|e| error_response(e) }\n</li>\n \n <li onclick="toggle(\'pre70352448199360\', \'post70352448199360\')"> else\n</li>\n \n <li onclick="toggle(\'pre70352448199360\', \'post70352448199360\')"> raise unless is_rescuable\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/grape-0.6.0/lib/grape/middleware/error.rb</code>: in <code>catch</code>\n\n \n <div class="context" id="c70352448192700">\n \n <ol start="18" class="pre-context" id="pre70352448192700">\n \n <li onclick="toggle(\'pre70352448192700\', \'post70352448192700\')"> }\n</li>\n \n <li onclick="toggle(\'pre70352448192700\', \'post70352448192700\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448192700\', \'post70352448192700\')">\n</li>\n \n <li onclick="toggle(\'pre70352448192700\', \'post70352448192700\')"> def call!(env)\n</li>\n \n <li onclick="toggle(\'pre70352448192700\', \'post70352448192700\')"> @env = env\n</li>\n \n <li onclick="toggle(\'pre70352448192700\', \'post70352448192700\')">\n</li>\n \n <li onclick="toggle(\'pre70352448192700\', \'post70352448192700\')"> begin\n</li>\n \n </ol>\n \n\n <ol start="25" class="context-line">\n <li onclick="toggle(\'pre70352448192700\', \'post70352448192700\')"> error_response(catch(:error){<span>...</span></li></ol>\n\n \n <ol start=\'26\' class="post-context" id="post70352448192700">\n \n <li onclick="toggle(\'pre70352448192700\', \'post70352448192700\')"> return @app.call(@env)\n</li>\n \n <li onclick="toggle(\'pre70352448192700\', \'post70352448192700\')"> })\n</li>\n \n <li onclick="toggle(\'pre70352448192700\', \'post70352448192700\')"> rescue Exception => e\n</li>\n \n <li onclick="toggle(\'pre70352448192700\', \'post70352448192700\')"> is_rescuable = rescuable?(e.class)\n</li>\n \n <li onclick="toggle(\'pre70352448192700\', \'post70352448192700\')"> if e.is_a?(Grape::Exceptions::Base) && !is_rescuable\n</li>\n \n <li onclick="toggle(\'pre70352448192700\', \'post70352448192700\')"> handler = lambda {|e| error_response(e) }\n</li>\n \n <li onclick="toggle(\'pre70352448192700\', \'post70352448192700\')"> else\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/grape-0.6.0/lib/grape/middleware/error.rb</code>: in <code>call!</code>\n\n \n <div class="context" id="c70352448210680">\n \n <ol start="18" class="pre-context" id="pre70352448210680">\n \n <li onclick="toggle(\'pre70352448210680\', \'post70352448210680\')"> }\n</li>\n \n <li onclick="toggle(\'pre70352448210680\', \'post70352448210680\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448210680\', \'post70352448210680\')">\n</li>\n \n <li onclick="toggle(\'pre70352448210680\', \'post70352448210680\')"> def call!(env)\n</li>\n \n <li onclick="toggle(\'pre70352448210680\', \'post70352448210680\')"> @env = env\n</li>\n \n <li onclick="toggle(\'pre70352448210680\', \'post70352448210680\')">\n</li>\n \n <li onclick="toggle(\'pre70352448210680\', \'post70352448210680\')"> begin\n</li>\n \n </ol>\n \n\n <ol start="25" class="context-line">\n <li onclick="toggle(\'pre70352448210680\', \'post70352448210680\')"> error_response(catch(:error){<span>...</span></li></ol>\n\n \n <ol start=\'26\' class="post-context" id="post70352448210680">\n \n <li onclick="toggle(\'pre70352448210680\', \'post70352448210680\')"> return @app.call(@env)\n</li>\n \n <li onclick="toggle(\'pre70352448210680\', \'post70352448210680\')"> })\n</li>\n \n <li onclick="toggle(\'pre70352448210680\', \'post70352448210680\')"> rescue Exception => e\n</li>\n \n <li onclick="toggle(\'pre70352448210680\', \'post70352448210680\')"> is_rescuable = rescuable?(e.class)\n</li>\n \n <li onclick="toggle(\'pre70352448210680\', \'post70352448210680\')"> if e.is_a?(Grape::Exceptions::Base) && !is_rescuable\n</li>\n \n <li onclick="toggle(\'pre70352448210680\', \'post70352448210680\')"> handler = lambda {|e| error_response(e) }\n</li>\n \n <li onclick="toggle(\'pre70352448210680\', \'post70352448210680\')"> else\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/grape-0.6.0/lib/grape/middleware/base.rb</code>: in <code>call</code>\n\n \n <div class="context" id="c70352448228660">\n \n <ol start="11" class="pre-context" id="pre70352448228660">\n \n <li onclick="toggle(\'pre70352448228660\', \'post70352448228660\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448228660\', \'post70352448228660\')">\n</li>\n \n <li onclick="toggle(\'pre70352448228660\', \'post70352448228660\')"> def default_options\n</li>\n \n <li onclick="toggle(\'pre70352448228660\', \'post70352448228660\')"> {}\n</li>\n \n <li onclick="toggle(\'pre70352448228660\', \'post70352448228660\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448228660\', \'post70352448228660\')">\n</li>\n \n <li onclick="toggle(\'pre70352448228660\', \'post70352448228660\')"> def call(env)\n</li>\n \n </ol>\n \n\n <ol start="18" class="context-line">\n <li onclick="toggle(\'pre70352448228660\', \'post70352448228660\')"> dup.call!(env)<span>...</span></li></ol>\n\n \n <ol start=\'19\' class="post-context" id="post70352448228660">\n \n <li onclick="toggle(\'pre70352448228660\', \'post70352448228660\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448228660\', \'post70352448228660\')">\n</li>\n \n <li onclick="toggle(\'pre70352448228660\', \'post70352448228660\')"> def call!(env)\n</li>\n \n <li onclick="toggle(\'pre70352448228660\', \'post70352448228660\')"> @env = env\n</li>\n \n <li onclick="toggle(\'pre70352448228660\', \'post70352448228660\')"> before\n</li>\n \n <li onclick="toggle(\'pre70352448228660\', \'post70352448228660\')"> @app_response = @app.call(@env)\n</li>\n \n <li onclick="toggle(\'pre70352448228660\', \'post70352448228660\')"> after || @app_response\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/rack-1.5.2/lib/rack/head.rb</code>: in <code>call</code>\n\n \n <div class="context" id="c70352448247060">\n \n <ol start="4" class="pre-context" id="pre70352448247060">\n \n <li onclick="toggle(\'pre70352448247060\', \'post70352448247060\')"> # Rack::Head returns an empty body for all HEAD requests. It leaves\n</li>\n \n <li onclick="toggle(\'pre70352448247060\', \'post70352448247060\')"> # all other requests unchanged.\n</li>\n \n <li onclick="toggle(\'pre70352448247060\', \'post70352448247060\')"> def initialize(app)\n</li>\n \n <li onclick="toggle(\'pre70352448247060\', \'post70352448247060\')"> @app = app\n</li>\n \n <li onclick="toggle(\'pre70352448247060\', \'post70352448247060\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448247060\', \'post70352448247060\')">\n</li>\n \n <li onclick="toggle(\'pre70352448247060\', \'post70352448247060\')"> def call(env)\n</li>\n \n </ol>\n \n\n <ol start="11" class="context-line">\n <li onclick="toggle(\'pre70352448247060\', \'post70352448247060\')"> status, headers, body = @app.call(env)<span>...</span></li></ol>\n\n \n <ol start=\'12\' class="post-context" id="post70352448247060">\n \n <li onclick="toggle(\'pre70352448247060\', \'post70352448247060\')">\n</li>\n \n <li onclick="toggle(\'pre70352448247060\', \'post70352448247060\')"> if env["REQUEST_METHOD"] == "HEAD"\n</li>\n \n <li onclick="toggle(\'pre70352448247060\', \'post70352448247060\')"> body.close if body.respond_to? :close\n</li>\n \n <li onclick="toggle(\'pre70352448247060\', \'post70352448247060\')"> [status, headers, []]\n</li>\n \n <li onclick="toggle(\'pre70352448247060\', \'post70352448247060\')"> else\n</li>\n \n <li onclick="toggle(\'pre70352448247060\', \'post70352448247060\')"> [status, headers, body]\n</li>\n \n <li onclick="toggle(\'pre70352448247060\', \'post70352448247060\')"> end\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/rack-1.5.2/lib/rack/builder.rb</code>: in <code>call</code>\n\n \n <div class="context" id="c70352448242400">\n \n <ol start="131" class="pre-context" id="pre70352448242400">\n \n <li onclick="toggle(\'pre70352448242400\', \'post70352448242400\')"> def to_app\n</li>\n \n <li onclick="toggle(\'pre70352448242400\', \'post70352448242400\')"> app = @map ? generate_map(@run, @map) : @run\n</li>\n \n <li onclick="toggle(\'pre70352448242400\', \'post70352448242400\')"> fail "missing run or map statement" unless app\n</li>\n \n <li onclick="toggle(\'pre70352448242400\', \'post70352448242400\')"> @use.reverse.inject(app) { |a,e| e[a] }\n</li>\n \n <li onclick="toggle(\'pre70352448242400\', \'post70352448242400\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448242400\', \'post70352448242400\')">\n</li>\n \n <li onclick="toggle(\'pre70352448242400\', \'post70352448242400\')"> def call(env)\n</li>\n \n </ol>\n \n\n <ol start="138" class="context-line">\n <li onclick="toggle(\'pre70352448242400\', \'post70352448242400\')"> to_app.call(env)<span>...</span></li></ol>\n\n \n <ol start=\'139\' class="post-context" id="post70352448242400">\n \n <li onclick="toggle(\'pre70352448242400\', \'post70352448242400\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448242400\', \'post70352448242400\')">\n</li>\n \n <li onclick="toggle(\'pre70352448242400\', \'post70352448242400\')"> private\n</li>\n \n <li onclick="toggle(\'pre70352448242400\', \'post70352448242400\')">\n</li>\n \n <li onclick="toggle(\'pre70352448242400\', \'post70352448242400\')"> def generate_map(default_app, mapping)\n</li>\n \n <li onclick="toggle(\'pre70352448242400\', \'post70352448242400\')"> mapped = default_app ? {'/' => default_app} : {}\n</li>\n \n <li onclick="toggle(\'pre70352448242400\', \'post70352448242400\')"> mapping.each { |r,b| mapped[r] = self.class.new(default_app, &b) }\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/grape-0.6.0/lib/grape/endpoint.rb</code>: in <code>call!</code>\n\n \n <div class="context" id="c70352448282400">\n \n <ol start="148" class="pre-context" id="pre70352448282400">\n \n <li onclick="toggle(\'pre70352448282400\', \'post70352448282400\')"> def call!(env)\n</li>\n \n <li onclick="toggle(\'pre70352448282400\', \'post70352448282400\')"> env['api.endpoint'] = self\n</li>\n \n <li onclick="toggle(\'pre70352448282400\', \'post70352448282400\')"> if options[:app]\n</li>\n \n <li onclick="toggle(\'pre70352448282400\', \'post70352448282400\')"> options[:app].call(env)\n</li>\n \n <li onclick="toggle(\'pre70352448282400\', \'post70352448282400\')"> else\n</li>\n \n <li onclick="toggle(\'pre70352448282400\', \'post70352448282400\')"> builder = build_middleware\n</li>\n \n <li onclick="toggle(\'pre70352448282400\', \'post70352448282400\')"> builder.run options[:app] || lambda{|env| self.run(env) }\n</li>\n \n </ol>\n \n\n <ol start="155" class="context-line">\n <li onclick="toggle(\'pre70352448282400\', \'post70352448282400\')"> builder.call(env)<span>...</span></li></ol>\n\n \n <ol start=\'156\' class="post-context" id="post70352448282400">\n \n <li onclick="toggle(\'pre70352448282400\', \'post70352448282400\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448282400\', \'post70352448282400\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448282400\', \'post70352448282400\')">\n</li>\n \n <li onclick="toggle(\'pre70352448282400\', \'post70352448282400\')"> # The parameters passed into the request as\n</li>\n \n <li onclick="toggle(\'pre70352448282400\', \'post70352448282400\')"> # well as parsed from URL segments.\n</li>\n \n <li onclick="toggle(\'pre70352448282400\', \'post70352448282400\')"> def params\n</li>\n \n <li onclick="toggle(\'pre70352448282400\', \'post70352448282400\')"> @params ||= @request.params\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/grape-0.6.0/lib/grape/endpoint.rb</code>: in <code>call</code>\n\n \n <div class="context" id="c70352448310040">\n \n <ol start="138" class="pre-context" id="pre70352448310040">\n \n <li onclick="toggle(\'pre70352448310040\', \'post70352448310040\')"> endpoint_options = {}\n</li>\n \n <li onclick="toggle(\'pre70352448310040\', \'post70352448310040\')"> endpoint_options[:version] = /#{settings[:version].join('|')}/ if settings[:version]\n</li>\n \n <li onclick="toggle(\'pre70352448310040\', \'post70352448310040\')"> endpoint_options.merge!(requirements)\n</li>\n \n <li onclick="toggle(\'pre70352448310040\', \'post70352448310040\')"> Rack::Mount::Strexp.compile(prepared_path, endpoint_options, %w( / . ? ), anchor)\n</li>\n \n <li onclick="toggle(\'pre70352448310040\', \'post70352448310040\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448310040\', \'post70352448310040\')">\n</li>\n \n <li onclick="toggle(\'pre70352448310040\', \'post70352448310040\')"> def call(env)\n</li>\n \n </ol>\n \n\n <ol start="145" class="context-line">\n <li onclick="toggle(\'pre70352448310040\', \'post70352448310040\')"> dup.call!(env)<span>...</span></li></ol>\n\n \n <ol start=\'146\' class="post-context" id="post70352448310040">\n \n <li onclick="toggle(\'pre70352448310040\', \'post70352448310040\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448310040\', \'post70352448310040\')">\n</li>\n \n <li onclick="toggle(\'pre70352448310040\', \'post70352448310040\')"> def call!(env)\n</li>\n \n <li onclick="toggle(\'pre70352448310040\', \'post70352448310040\')"> env['api.endpoint'] = self\n</li>\n \n <li onclick="toggle(\'pre70352448310040\', \'post70352448310040\')"> if options[:app]\n</li>\n \n <li onclick="toggle(\'pre70352448310040\', \'post70352448310040\')"> options[:app].call(env)\n</li>\n \n <li onclick="toggle(\'pre70352448310040\', \'post70352448310040\')"> else\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/rack-mount-0.8.3/lib/rack/mount/route_set.rb</code>: in <code>block in call</code>\n\n \n <div class="context" id="c70352448361800">\n \n <ol start="145" class="pre-context" id="pre70352448361800">\n \n <li onclick="toggle(\'pre70352448361800\', \'post70352448361800\')"> if route.prefix?\n</li>\n \n <li onclick="toggle(\'pre70352448361800\', \'post70352448361800\')"> env[Prefix::KEY] = matches[:path_info].to_s\n</li>\n \n <li onclick="toggle(\'pre70352448361800\', \'post70352448361800\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448361800\', \'post70352448361800\')">\n</li>\n \n <li onclick="toggle(\'pre70352448361800\', \'post70352448361800\')"> old_params = env[@parameters_key]\n</li>\n \n <li onclick="toggle(\'pre70352448361800\', \'post70352448361800\')"> env[@parameters_key] = (old_params || {}).merge(params)\n</li>\n \n <li onclick="toggle(\'pre70352448361800\', \'post70352448361800\')">\n</li>\n \n </ol>\n \n\n <ol start="152" class="context-line">\n <li onclick="toggle(\'pre70352448361800\', \'post70352448361800\')"> result = route.app.call(env)<span>...</span></li></ol>\n\n \n <ol start=\'153\' class="post-context" id="post70352448361800">\n \n <li onclick="toggle(\'pre70352448361800\', \'post70352448361800\')">\n</li>\n \n <li onclick="toggle(\'pre70352448361800\', \'post70352448361800\')"> if result[1][X_CASCADE] == PASS\n</li>\n \n <li onclick="toggle(\'pre70352448361800\', \'post70352448361800\')"> env[@parameters_key] = old_params\n</li>\n \n <li onclick="toggle(\'pre70352448361800\', \'post70352448361800\')"> else\n</li>\n \n <li onclick="toggle(\'pre70352448361800\', \'post70352448361800\')"> return result\n</li>\n \n <li onclick="toggle(\'pre70352448361800\', \'post70352448361800\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448361800\', \'post70352448361800\')"> end\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/rack-mount-0.8.3/lib/rack/mount/code_generation.rb</code>: in <code>block in recognize</code>\n\n \n <div class="context" id="c70352448392000">\n \n <ol start="89" class="pre-context" id="pre70352448392000">\n \n <li onclick="toggle(\'pre70352448392000\', \'post70352448392000\')"> instance_eval(<<-RUBY, __FILE__, __LINE__)\n</li>\n \n <li onclick="toggle(\'pre70352448392000\', \'post70352448392000\')"> def recognize(obj)\n</li>\n \n <li onclick="toggle(\'pre70352448392000\', \'post70352448392000\')"> #{"cache = {}" if uses_cache}\n</li>\n \n <li onclick="toggle(\'pre70352448392000\', \'post70352448392000\')"> container = @recognition_graph[#{keys}]\n</li>\n \n <li onclick="toggle(\'pre70352448392000\', \'post70352448392000\')"> optimize_container_iterator(container) unless container.respond_to?(:optimized_each)\n</li>\n \n <li onclick="toggle(\'pre70352448392000\', \'post70352448392000\')">\n</li>\n \n <li onclick="toggle(\'pre70352448392000\', \'post70352448392000\')"> if block_given?\n</li>\n \n </ol>\n \n\n <ol start="96" class="context-line">\n <li onclick="toggle(\'pre70352448392000\', \'post70352448392000\')"> container.optimized_each(obj) do |route, matches, params|<span>...</span></li></ol>\n\n \n <ol start=\'97\' class="post-context" id="post70352448392000">\n \n <li onclick="toggle(\'pre70352448392000\', \'post70352448392000\')"> yield route, matches, params\n</li>\n \n <li onclick="toggle(\'pre70352448392000\', \'post70352448392000\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448392000\', \'post70352448392000\')"> else\n</li>\n \n <li onclick="toggle(\'pre70352448392000\', \'post70352448392000\')"> container.optimized_each(obj) do |route, matches, params|\n</li>\n \n <li onclick="toggle(\'pre70352448392000\', \'post70352448392000\')"> return route, matches, params\n</li>\n \n <li onclick="toggle(\'pre70352448392000\', \'post70352448392000\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448392000\', \'post70352448392000\')"> end\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/rack-mount-0.8.3/lib/rack/mount/code_generation.rb</code>: in <code>optimized_each</code>\n\n \n <div class="context" id="c70352448408320">\n \n <ol start="68" class="pre-context" id="pre70352448408320">\n \n <li onclick="toggle(\'pre70352448408320\', \'post70352448408320\')"> RUBY\n</li>\n \n <li onclick="toggle(\'pre70352448408320\', \'post70352448408320\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448408320\', \'post70352448408320\')">\n</li>\n \n <li onclick="toggle(\'pre70352448408320\', \'post70352448408320\')"> def optimize_recognize!\n</li>\n \n <li onclick="toggle(\'pre70352448408320\', \'post70352448408320\')"> Utils.debug "optimizing recognize"\n</li>\n \n <li onclick="toggle(\'pre70352448408320\', \'post70352448408320\')">\n</li>\n \n <li onclick="toggle(\'pre70352448408320\', \'post70352448408320\')"> uses_cache = false\n</li>\n \n </ol>\n \n\n <ol start="75" class="context-line">\n <li onclick="toggle(\'pre70352448408320\', \'post70352448408320\')"><span>...</span></li></ol>\n\n \n <ol start=\'76\' class="post-context" id="post70352448408320">\n \n <li onclick="toggle(\'pre70352448408320\', \'post70352448408320\')"> keys = @recognition_keys.map { |key|\n</li>\n \n <li onclick="toggle(\'pre70352448408320\', \'post70352448408320\')"> if key.respond_to?(:call_source)\n</li>\n \n <li onclick="toggle(\'pre70352448408320\', \'post70352448408320\')"> uses_cache = true\n</li>\n \n <li onclick="toggle(\'pre70352448408320\', \'post70352448408320\')"> key.call_source(:cache, :obj)\n</li>\n \n <li onclick="toggle(\'pre70352448408320\', \'post70352448408320\')"> else\n</li>\n \n <li onclick="toggle(\'pre70352448408320\', \'post70352448408320\')"> "obj.#{key}"\n</li>\n \n <li onclick="toggle(\'pre70352448408320\', \'post70352448408320\')"> end\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/rack-mount-0.8.3/lib/rack/mount/code_generation.rb</code>: in <code>recognize</code>\n\n \n <div class="context" id="c70352448425260">\n \n <ol start="88" class="pre-context" id="pre70352448425260">\n \n <li onclick="toggle(\'pre70352448425260\', \'post70352448425260\')">\n</li>\n \n <li onclick="toggle(\'pre70352448425260\', \'post70352448425260\')"> instance_eval(<<-RUBY, __FILE__, __LINE__)\n</li>\n \n <li onclick="toggle(\'pre70352448425260\', \'post70352448425260\')"> def recognize(obj)\n</li>\n \n <li onclick="toggle(\'pre70352448425260\', \'post70352448425260\')"> #{"cache = {}" if uses_cache}\n</li>\n \n <li onclick="toggle(\'pre70352448425260\', \'post70352448425260\')"> container = @recognition_graph[#{keys}]\n</li>\n \n <li onclick="toggle(\'pre70352448425260\', \'post70352448425260\')"> optimize_container_iterator(container) unless container.respond_to?(:optimized_each)\n</li>\n \n <li onclick="toggle(\'pre70352448425260\', \'post70352448425260\')">\n</li>\n \n </ol>\n \n\n <ol start="95" class="context-line">\n <li onclick="toggle(\'pre70352448425260\', \'post70352448425260\')"> if block_given?<span>...</span></li></ol>\n\n \n <ol start=\'96\' class="post-context" id="post70352448425260">\n \n <li onclick="toggle(\'pre70352448425260\', \'post70352448425260\')"> container.optimized_each(obj) do |route, matches, params|\n</li>\n \n <li onclick="toggle(\'pre70352448425260\', \'post70352448425260\')"> yield route, matches, params\n</li>\n \n <li onclick="toggle(\'pre70352448425260\', \'post70352448425260\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448425260\', \'post70352448425260\')"> else\n</li>\n \n <li onclick="toggle(\'pre70352448425260\', \'post70352448425260\')"> container.optimized_each(obj) do |route, matches, params|\n</li>\n \n <li onclick="toggle(\'pre70352448425260\', \'post70352448425260\')"> return route, matches, params\n</li>\n \n <li onclick="toggle(\'pre70352448425260\', \'post70352448425260\')"> end\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/rack-mount-0.8.3/lib/rack/mount/route_set.rb</code>: in <code>call</code>\n\n \n <div class="context" id="c70352448440880">\n \n <ol start="134" class="pre-context" id="pre70352448440880">\n \n <li onclick="toggle(\'pre70352448440880\', \'post70352448440880\')"> def call(env)\n</li>\n \n <li onclick="toggle(\'pre70352448440880\', \'post70352448440880\')"> raise 'route set not finalized' unless @recognition_graph\n</li>\n \n <li onclick="toggle(\'pre70352448440880\', \'post70352448440880\')">\n</li>\n \n <li onclick="toggle(\'pre70352448440880\', \'post70352448440880\')"> env[PATH_INFO] = Utils.normalize_path(env[PATH_INFO])\n</li>\n \n <li onclick="toggle(\'pre70352448440880\', \'post70352448440880\')">\n</li>\n \n <li onclick="toggle(\'pre70352448440880\', \'post70352448440880\')"> request = nil\n</li>\n \n <li onclick="toggle(\'pre70352448440880\', \'post70352448440880\')"> req = @request_class.new(env)\n</li>\n \n </ol>\n \n\n <ol start="141" class="context-line">\n <li onclick="toggle(\'pre70352448440880\', \'post70352448440880\')"> recognize(req) do |route, matches, params|<span>...</span></li></ol>\n\n \n <ol start=\'142\' class="post-context" id="post70352448440880">\n \n <li onclick="toggle(\'pre70352448440880\', \'post70352448440880\')"> # TODO: We only want to unescape params from uri related methods\n</li>\n \n <li onclick="toggle(\'pre70352448440880\', \'post70352448440880\')"> params.each { |k, v| params[k] = Utils.unescape_uri(v) if v.is_a?(String) }\n</li>\n \n <li onclick="toggle(\'pre70352448440880\', \'post70352448440880\')">\n</li>\n \n <li onclick="toggle(\'pre70352448440880\', \'post70352448440880\')"> if route.prefix?\n</li>\n \n <li onclick="toggle(\'pre70352448440880\', \'post70352448440880\')"> env[Prefix::KEY] = matches[:path_info].to_s\n</li>\n \n <li onclick="toggle(\'pre70352448440880\', \'post70352448440880\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448440880\', \'post70352448440880\')">\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/grape-0.6.0/lib/grape/api.rb</code>: in <code>call</code>\n\n \n <div class="context" id="c70352448471680">\n \n <ol start="486" class="pre-context" id="pre70352448471680">\n \n <li onclick="toggle(\'pre70352448471680\', \'post70352448471680\')"> endpoint.mount_in(@route_set)\n</li>\n \n <li onclick="toggle(\'pre70352448471680\', \'post70352448471680\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448471680\', \'post70352448471680\')"> add_head_not_allowed_methods\n</li>\n \n <li onclick="toggle(\'pre70352448471680\', \'post70352448471680\')"> @route_set.freeze\n</li>\n \n <li onclick="toggle(\'pre70352448471680\', \'post70352448471680\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448471680\', \'post70352448471680\')">\n</li>\n \n <li onclick="toggle(\'pre70352448471680\', \'post70352448471680\')"> def call(env)\n</li>\n \n </ol>\n \n\n <ol start="493" class="context-line">\n <li onclick="toggle(\'pre70352448471680\', \'post70352448471680\')"> status, headers, body = @route_set.call(env)<span>...</span></li></ol>\n\n \n <ol start=\'494\' class="post-context" id="post70352448471680">\n \n <li onclick="toggle(\'pre70352448471680\', \'post70352448471680\')"> headers.delete('X-Cascade') unless cascade?\n</li>\n \n <li onclick="toggle(\'pre70352448471680\', \'post70352448471680\')"> [ status, headers, body ]\n</li>\n \n <li onclick="toggle(\'pre70352448471680\', \'post70352448471680\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448471680\', \'post70352448471680\')">\n</li>\n \n <li onclick="toggle(\'pre70352448471680\', \'post70352448471680\')"> # Some requests may return a HTTP 404 error if grape cannot find a matching\n</li>\n \n <li onclick="toggle(\'pre70352448471680\', \'post70352448471680\')"> # route. In this case, Rack::Mount adds a X-Cascade header to the response\n</li>\n \n <li onclick="toggle(\'pre70352448471680\', \'post70352448471680\')"> # and sets it to 'pass', indicating to grape's parents they should keep\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/grape-0.6.0/lib/grape/api.rb</code>: in <code>call!</code>\n\n \n <div class="context" id="c70352448520740">\n \n <ol start="35" class="pre-context" id="pre70352448520740">\n \n <li onclick="toggle(\'pre70352448520740\', \'post70352448520740\')">\n</li>\n \n <li onclick="toggle(\'pre70352448520740\', \'post70352448520740\')"> def call(env)\n</li>\n \n <li onclick="toggle(\'pre70352448520740\', \'post70352448520740\')"> compile unless instance\n</li>\n \n <li onclick="toggle(\'pre70352448520740\', \'post70352448520740\')"> call!(env)\n</li>\n \n <li onclick="toggle(\'pre70352448520740\', \'post70352448520740\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448520740\', \'post70352448520740\')">\n</li>\n \n <li onclick="toggle(\'pre70352448520740\', \'post70352448520740\')"> def call!(env)\n</li>\n \n </ol>\n \n\n <ol start="42" class="context-line">\n <li onclick="toggle(\'pre70352448520740\', \'post70352448520740\')"> instance.call(env)<span>...</span></li></ol>\n\n \n <ol start=\'43\' class="post-context" id="post70352448520740">\n \n <li onclick="toggle(\'pre70352448520740\', \'post70352448520740\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448520740\', \'post70352448520740\')">\n</li>\n \n <li onclick="toggle(\'pre70352448520740\', \'post70352448520740\')"> # Set a configuration value for this namespace.\n</li>\n \n <li onclick="toggle(\'pre70352448520740\', \'post70352448520740\')"> #\n</li>\n \n <li onclick="toggle(\'pre70352448520740\', \'post70352448520740\')"> # @param key [Symbol] The key of the configuration variable.\n</li>\n \n <li onclick="toggle(\'pre70352448520740\', \'post70352448520740\')"> # @param value [Object] The value to which to set the configuration variable.\n</li>\n \n <li onclick="toggle(\'pre70352448520740\', \'post70352448520740\')"> def set(key, value)\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/grape-0.6.0/lib/grape/api.rb</code>: in <code>call</code>\n\n \n <div class="context" id="c70352448569800">\n \n <ol start="31" class="pre-context" id="pre70352448569800">\n \n <li onclick="toggle(\'pre70352448569800\', \'post70352448569800\')">\n</li>\n \n <li onclick="toggle(\'pre70352448569800\', \'post70352448569800\')"> def change!\n</li>\n \n <li onclick="toggle(\'pre70352448569800\', \'post70352448569800\')"> @instance = nil\n</li>\n \n <li onclick="toggle(\'pre70352448569800\', \'post70352448569800\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448569800\', \'post70352448569800\')">\n</li>\n \n <li onclick="toggle(\'pre70352448569800\', \'post70352448569800\')"> def call(env)\n</li>\n \n <li onclick="toggle(\'pre70352448569800\', \'post70352448569800\')"> compile unless instance\n</li>\n \n </ol>\n \n\n <ol start="38" class="context-line">\n <li onclick="toggle(\'pre70352448569800\', \'post70352448569800\')"> call!(env)<span>...</span></li></ol>\n\n \n <ol start=\'39\' class="post-context" id="post70352448569800">\n \n <li onclick="toggle(\'pre70352448569800\', \'post70352448569800\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448569800\', \'post70352448569800\')">\n</li>\n \n <li onclick="toggle(\'pre70352448569800\', \'post70352448569800\')"> def call!(env)\n</li>\n \n <li onclick="toggle(\'pre70352448569800\', \'post70352448569800\')"> instance.call(env)\n</li>\n \n <li onclick="toggle(\'pre70352448569800\', \'post70352448569800\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448569800\', \'post70352448569800\')">\n</li>\n \n <li onclick="toggle(\'pre70352448569800\', \'post70352448569800\')"> # Set a configuration value for this namespace.\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/www/divshot/api/lib/cascade_with_override.rb</code>: in <code>block in call</code>\n\n \n <div class="context" id="c70352448619240">\n \n <ol start="13" class="pre-context" id="pre70352448619240">\n \n <li onclick="toggle(\'pre70352448619240\', \'post70352448619240\')"> # by the server, or if it is replaced by a middleware action. Cascade\n</li>\n \n <li onclick="toggle(\'pre70352448619240\', \'post70352448619240\')"> # replaces the body each time a cascade happens. It is assumed that nil\n</li>\n \n <li onclick="toggle(\'pre70352448619240\', \'post70352448619240\')"> # does not respond to close, otherwise the previous application body\n</li>\n \n <li onclick="toggle(\'pre70352448619240\', \'post70352448619240\')"> # will be closed. The final application body will not be closed, as it\n</li>\n \n <li onclick="toggle(\'pre70352448619240\', \'post70352448619240\')"> # will be passed to the server as a result.\n</li>\n \n <li onclick="toggle(\'pre70352448619240\', \'post70352448619240\')"> last_body.close if last_body.respond_to? :close\n</li>\n \n <li onclick="toggle(\'pre70352448619240\', \'post70352448619240\')">\n</li>\n \n </ol>\n \n\n <ol start="20" class="context-line">\n <li onclick="toggle(\'pre70352448619240\', \'post70352448619240\')"> result = app.call(env)<span>...</span></li></ol>\n\n \n <ol start=\'21\' class="post-context" id="post70352448619240">\n \n <li onclick="toggle(\'pre70352448619240\', \'post70352448619240\')"> last_body = result[2]\n</li>\n \n <li onclick="toggle(\'pre70352448619240\', \'post70352448619240\')"> break unless continue?(result[0].to_i, result[1]["X-Cascade"])\n</li>\n \n <li onclick="toggle(\'pre70352448619240\', \'post70352448619240\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448619240\', \'post70352448619240\')">\n</li>\n \n <li onclick="toggle(\'pre70352448619240\', \'post70352448619240\')"> result\n</li>\n \n <li onclick="toggle(\'pre70352448619240\', \'post70352448619240\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448619240\', \'post70352448619240\')">\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/www/divshot/api/lib/cascade_with_override.rb</code>: in <code>each</code>\n\n \n <div class="context" id="c70352448638560">\n \n <ol start="4" class="pre-context" id="pre70352448638560">\n \n <li onclick="toggle(\'pre70352448638560\', \'post70352448638560\')">\n</li>\n \n <li onclick="toggle(\'pre70352448638560\', \'post70352448638560\')"> class CascadeWithOverride < Cascade\n</li>\n \n <li onclick="toggle(\'pre70352448638560\', \'post70352448638560\')"> def call(env)\n</li>\n \n <li onclick="toggle(\'pre70352448638560\', \'post70352448638560\')"> result = ::Rack::Cascade::NotFound\n</li>\n \n <li onclick="toggle(\'pre70352448638560\', \'post70352448638560\')">\n</li>\n \n <li onclick="toggle(\'pre70352448638560\', \'post70352448638560\')"> last_body = nil\n</li>\n \n <li onclick="toggle(\'pre70352448638560\', \'post70352448638560\')">\n</li>\n \n </ol>\n \n\n <ol start="11" class="context-line">\n <li onclick="toggle(\'pre70352448638560\', \'post70352448638560\')"> @apps.each do |app|<span>...</span></li></ol>\n\n \n <ol start=\'12\' class="post-context" id="post70352448638560">\n \n <li onclick="toggle(\'pre70352448638560\', \'post70352448638560\')"> # The SPEC says that the body must be closed after it has been iterated\n</li>\n \n <li onclick="toggle(\'pre70352448638560\', \'post70352448638560\')"> # by the server, or if it is replaced by a middleware action. Cascade\n</li>\n \n <li onclick="toggle(\'pre70352448638560\', \'post70352448638560\')"> # replaces the body each time a cascade happens. It is assumed that nil\n</li>\n \n <li onclick="toggle(\'pre70352448638560\', \'post70352448638560\')"> # does not respond to close, otherwise the previous application body\n</li>\n \n <li onclick="toggle(\'pre70352448638560\', \'post70352448638560\')"> # will be closed. The final application body will not be closed, as it\n</li>\n \n <li onclick="toggle(\'pre70352448638560\', \'post70352448638560\')"> # will be passed to the server as a result.\n</li>\n \n <li onclick="toggle(\'pre70352448638560\', \'post70352448638560\')"> last_body.close if last_body.respond_to? :close\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/www/divshot/api/lib/cascade_with_override.rb</code>: in <code>call</code>\n\n \n <div class="context" id="c70352448658160">\n \n <ol start="4" class="pre-context" id="pre70352448658160">\n \n <li onclick="toggle(\'pre70352448658160\', \'post70352448658160\')">\n</li>\n \n <li onclick="toggle(\'pre70352448658160\', \'post70352448658160\')"> class CascadeWithOverride < Cascade\n</li>\n \n <li onclick="toggle(\'pre70352448658160\', \'post70352448658160\')"> def call(env)\n</li>\n \n <li onclick="toggle(\'pre70352448658160\', \'post70352448658160\')"> result = ::Rack::Cascade::NotFound\n</li>\n \n <li onclick="toggle(\'pre70352448658160\', \'post70352448658160\')">\n</li>\n \n <li onclick="toggle(\'pre70352448658160\', \'post70352448658160\')"> last_body = nil\n</li>\n \n <li onclick="toggle(\'pre70352448658160\', \'post70352448658160\')">\n</li>\n \n </ol>\n \n\n <ol start="11" class="context-line">\n <li onclick="toggle(\'pre70352448658160\', \'post70352448658160\')"> @apps.each do |app|<span>...</span></li></ol>\n\n \n <ol start=\'12\' class="post-context" id="post70352448658160">\n \n <li onclick="toggle(\'pre70352448658160\', \'post70352448658160\')"> # The SPEC says that the body must be closed after it has been iterated\n</li>\n \n <li onclick="toggle(\'pre70352448658160\', \'post70352448658160\')"> # by the server, or if it is replaced by a middleware action. Cascade\n</li>\n \n <li onclick="toggle(\'pre70352448658160\', \'post70352448658160\')"> # replaces the body each time a cascade happens. It is assumed that nil\n</li>\n \n <li onclick="toggle(\'pre70352448658160\', \'post70352448658160\')"> # does not respond to close, otherwise the previous application body\n</li>\n \n <li onclick="toggle(\'pre70352448658160\', \'post70352448658160\')"> # will be closed. The final application body will not be closed, as it\n</li>\n \n <li onclick="toggle(\'pre70352448658160\', \'post70352448658160\')"> # will be passed to the server as a result.\n</li>\n \n <li onclick="toggle(\'pre70352448658160\', \'post70352448658160\')"> last_body.close if last_body.respond_to? :close\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/rack-1.5.2/lib/rack/urlmap.rb</code>: in <code>block in call</code>\n\n \n <div class="context" id="c70352448652920">\n \n <ol start="58" class="pre-context" id="pre70352448652920">\n \n <li onclick="toggle(\'pre70352448652920\', \'post70352448652920\')">\n</li>\n \n <li onclick="toggle(\'pre70352448652920\', \'post70352448652920\')"> rest = m[1]\n</li>\n \n <li onclick="toggle(\'pre70352448652920\', \'post70352448652920\')"> next unless !rest || rest.empty? || rest[0] == ?/\n</li>\n \n <li onclick="toggle(\'pre70352448652920\', \'post70352448652920\')">\n</li>\n \n <li onclick="toggle(\'pre70352448652920\', \'post70352448652920\')"> env['SCRIPT_NAME'] = (script_name + location)\n</li>\n \n <li onclick="toggle(\'pre70352448652920\', \'post70352448652920\')"> env['PATH_INFO'] = rest\n</li>\n \n <li onclick="toggle(\'pre70352448652920\', \'post70352448652920\')">\n</li>\n \n </ol>\n \n\n <ol start="65" class="context-line">\n <li onclick="toggle(\'pre70352448652920\', \'post70352448652920\')"> return app.call(env)<span>...</span></li></ol>\n\n \n <ol start=\'66\' class="post-context" id="post70352448652920">\n \n <li onclick="toggle(\'pre70352448652920\', \'post70352448652920\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448652920\', \'post70352448652920\')">\n</li>\n \n <li onclick="toggle(\'pre70352448652920\', \'post70352448652920\')"> [404, {"Content-Type" => "text/plain", "X-Cascade" => "pass"}, ["Not Found: #{path}"]]\n</li>\n \n <li onclick="toggle(\'pre70352448652920\', \'post70352448652920\')">\n</li>\n \n <li onclick="toggle(\'pre70352448652920\', \'post70352448652920\')"> ensure\n</li>\n \n <li onclick="toggle(\'pre70352448652920\', \'post70352448652920\')"> env['PATH_INFO'] = path\n</li>\n \n <li onclick="toggle(\'pre70352448652920\', \'post70352448652920\')"> env['SCRIPT_NAME'] = script_name\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/rack-1.5.2/lib/rack/urlmap.rb</code>: in <code>each</code>\n\n \n <div class="context" id="c70352448670740">\n \n <ol start="43" class="pre-context" id="pre70352448670740">\n \n <li onclick="toggle(\'pre70352448670740\', \'post70352448670740\')"> def call(env)\n</li>\n \n <li onclick="toggle(\'pre70352448670740\', \'post70352448670740\')"> path = env["PATH_INFO"]\n</li>\n \n <li onclick="toggle(\'pre70352448670740\', \'post70352448670740\')"> script_name = env['SCRIPT_NAME']\n</li>\n \n <li onclick="toggle(\'pre70352448670740\', \'post70352448670740\')"> hHost = env['HTTP_HOST']\n</li>\n \n <li onclick="toggle(\'pre70352448670740\', \'post70352448670740\')"> sName = env['SERVER_NAME']\n</li>\n \n <li onclick="toggle(\'pre70352448670740\', \'post70352448670740\')"> sPort = env['SERVER_PORT']\n</li>\n \n <li onclick="toggle(\'pre70352448670740\', \'post70352448670740\')">\n</li>\n \n </ol>\n \n\n <ol start="50" class="context-line">\n <li onclick="toggle(\'pre70352448670740\', \'post70352448670740\')"> @mapping.each do |host, location, match, app|<span>...</span></li></ol>\n\n \n <ol start=\'51\' class="post-context" id="post70352448670740">\n \n <li onclick="toggle(\'pre70352448670740\', \'post70352448670740\')"> unless hHost == host \\\n</li>\n \n <li onclick="toggle(\'pre70352448670740\', \'post70352448670740\')"> || sName == host \\\n</li>\n \n <li onclick="toggle(\'pre70352448670740\', \'post70352448670740\')"> || (!host && (hHost == sName || hHost == sName+':'+sPort))\n</li>\n \n <li onclick="toggle(\'pre70352448670740\', \'post70352448670740\')"> next\n</li>\n \n <li onclick="toggle(\'pre70352448670740\', \'post70352448670740\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448670740\', \'post70352448670740\')">\n</li>\n \n <li onclick="toggle(\'pre70352448670740\', \'post70352448670740\')"> next unless m = match.match(path.to_s)\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/rack-1.5.2/lib/rack/urlmap.rb</code>: in <code>call</code>\n\n \n <div class="context" id="c70352448688740">\n \n <ol start="43" class="pre-context" id="pre70352448688740">\n \n <li onclick="toggle(\'pre70352448688740\', \'post70352448688740\')"> def call(env)\n</li>\n \n <li onclick="toggle(\'pre70352448688740\', \'post70352448688740\')"> path = env["PATH_INFO"]\n</li>\n \n <li onclick="toggle(\'pre70352448688740\', \'post70352448688740\')"> script_name = env['SCRIPT_NAME']\n</li>\n \n <li onclick="toggle(\'pre70352448688740\', \'post70352448688740\')"> hHost = env['HTTP_HOST']\n</li>\n \n <li onclick="toggle(\'pre70352448688740\', \'post70352448688740\')"> sName = env['SERVER_NAME']\n</li>\n \n <li onclick="toggle(\'pre70352448688740\', \'post70352448688740\')"> sPort = env['SERVER_PORT']\n</li>\n \n <li onclick="toggle(\'pre70352448688740\', \'post70352448688740\')">\n</li>\n \n </ol>\n \n\n <ol start="50" class="context-line">\n <li onclick="toggle(\'pre70352448688740\', \'post70352448688740\')"> @mapping.each do |host, location, match, app|<span>...</span></li></ol>\n\n \n <ol start=\'51\' class="post-context" id="post70352448688740">\n \n <li onclick="toggle(\'pre70352448688740\', \'post70352448688740\')"> unless hHost == host \\\n</li>\n \n <li onclick="toggle(\'pre70352448688740\', \'post70352448688740\')"> || sName == host \\\n</li>\n \n <li onclick="toggle(\'pre70352448688740\', \'post70352448688740\')"> || (!host && (hHost == sName || hHost == sName+':'+sPort))\n</li>\n \n <li onclick="toggle(\'pre70352448688740\', \'post70352448688740\')"> next\n</li>\n \n <li onclick="toggle(\'pre70352448688740\', \'post70352448688740\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448688740\', \'post70352448688740\')">\n</li>\n \n <li onclick="toggle(\'pre70352448688740\', \'post70352448688740\')"> next unless m = match.match(path.to_s)\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/rack-1.5.2/lib/rack/commonlogger.rb</code>: in <code>call</code>\n\n \n <div class="context" id="c70352448706600">\n \n <ol start="26" class="pre-context" id="pre70352448706600">\n \n <li onclick="toggle(\'pre70352448706600\', \'post70352448706600\')"> def initialize(app, logger=nil)\n</li>\n \n <li onclick="toggle(\'pre70352448706600\', \'post70352448706600\')"> @app = app\n</li>\n \n <li onclick="toggle(\'pre70352448706600\', \'post70352448706600\')"> @logger = logger\n</li>\n \n <li onclick="toggle(\'pre70352448706600\', \'post70352448706600\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448706600\', \'post70352448706600\')">\n</li>\n \n <li onclick="toggle(\'pre70352448706600\', \'post70352448706600\')"> def call(env)\n</li>\n \n <li onclick="toggle(\'pre70352448706600\', \'post70352448706600\')"> began_at = Time.now\n</li>\n \n </ol>\n \n\n <ol start="33" class="context-line">\n <li onclick="toggle(\'pre70352448706600\', \'post70352448706600\')"> status, header, body = @app.call(env)<span>...</span></li></ol>\n\n \n <ol start=\'34\' class="post-context" id="post70352448706600">\n \n <li onclick="toggle(\'pre70352448706600\', \'post70352448706600\')"> header = Utils::HeaderHash.new(header)\n</li>\n \n <li onclick="toggle(\'pre70352448706600\', \'post70352448706600\')"> body = BodyProxy.new(body) { log(env, status, header, began_at) }\n</li>\n \n <li onclick="toggle(\'pre70352448706600\', \'post70352448706600\')"> [status, header, body]\n</li>\n \n <li onclick="toggle(\'pre70352448706600\', \'post70352448706600\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448706600\', \'post70352448706600\')">\n</li>\n \n <li onclick="toggle(\'pre70352448706600\', \'post70352448706600\')"> private\n</li>\n \n <li onclick="toggle(\'pre70352448706600\', \'post70352448706600\')">\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/sinatra-1.3.4/lib/sinatra/base.rb</code>: in <code>call</code>\n\n \n <div class="context" id="c70352448700460">\n \n <ol start="154" class="pre-context" id="pre70352448700460">\n \n <li onclick="toggle(\'pre70352448700460\', \'post70352448700460\')"> env['sinatra.commonlogger'] ? @app.call(env) : super\n</li>\n \n <li onclick="toggle(\'pre70352448700460\', \'post70352448700460\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448700460\', \'post70352448700460\')">\n</li>\n \n <li onclick="toggle(\'pre70352448700460\', \'post70352448700460\')"> superclass.class_eval do\n</li>\n \n <li onclick="toggle(\'pre70352448700460\', \'post70352448700460\')"> alias call_without_check call unless method_defined? :call_without_check\n</li>\n \n <li onclick="toggle(\'pre70352448700460\', \'post70352448700460\')"> def call(env)\n</li>\n \n <li onclick="toggle(\'pre70352448700460\', \'post70352448700460\')"> env['sinatra.commonlogger'] = true\n</li>\n \n </ol>\n \n\n <ol start="161" class="context-line">\n <li onclick="toggle(\'pre70352448700460\', \'post70352448700460\')"> call_without_check(env)<span>...</span></li></ol>\n\n \n <ol start=\'162\' class="post-context" id="post70352448700460">\n \n <li onclick="toggle(\'pre70352448700460\', \'post70352448700460\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448700460\', \'post70352448700460\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448700460\', \'post70352448700460\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448700460\', \'post70352448700460\')">\n</li>\n \n <li onclick="toggle(\'pre70352448700460\', \'post70352448700460\')"> class NotFound < NameError #:nodoc:\n</li>\n \n <li onclick="toggle(\'pre70352448700460\', \'post70352448700460\')"> def code ; 404 ; end\n</li>\n \n <li onclick="toggle(\'pre70352448700460\', \'post70352448700460\')"> end\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/omniauth-1.1.4/lib/omniauth/strategy.rb</code>: in <code>call_app!</code>\n\n \n <div class="context" id="c70352448853680">\n \n <ol start="394" class="pre-context" id="pre70352448853680">\n \n <li onclick="toggle(\'pre70352448853680\', \'post70352448853680\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448853680\', \'post70352448853680\')">\n</li>\n \n <li onclick="toggle(\'pre70352448853680\', \'post70352448853680\')"> def query_string\n</li>\n \n <li onclick="toggle(\'pre70352448853680\', \'post70352448853680\')"> request.query_string.empty? ? "" : "?#{request.query_string}"\n</li>\n \n <li onclick="toggle(\'pre70352448853680\', \'post70352448853680\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448853680\', \'post70352448853680\')">\n</li>\n \n <li onclick="toggle(\'pre70352448853680\', \'post70352448853680\')"> def call_app!(env = @env)\n</li>\n \n </ol>\n \n\n <ol start="401" class="context-line">\n <li onclick="toggle(\'pre70352448853680\', \'post70352448853680\')"> @app.call(env)<span>...</span></li></ol>\n\n \n <ol start=\'402\' class="post-context" id="post70352448853680">\n \n <li onclick="toggle(\'pre70352448853680\', \'post70352448853680\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448853680\', \'post70352448853680\')">\n</li>\n \n <li onclick="toggle(\'pre70352448853680\', \'post70352448853680\')"> def full_host\n</li>\n \n <li onclick="toggle(\'pre70352448853680\', \'post70352448853680\')"> case OmniAuth.config.full_host\n</li>\n \n <li onclick="toggle(\'pre70352448853680\', \'post70352448853680\')"> when String\n</li>\n \n <li onclick="toggle(\'pre70352448853680\', \'post70352448853680\')"> OmniAuth.config.full_host\n</li>\n \n <li onclick="toggle(\'pre70352448853680\', \'post70352448853680\')"> when Proc\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/omniauth-identity-1.1.0/lib/omniauth/strategies/identity.rb</code>: in <code>other_phase</code>\n\n \n <div class="context" id="c70352448881180">\n \n <ol start="29" class="pre-context" id="pre70352448881180">\n \n <li onclick="toggle(\'pre70352448881180\', \'post70352448881180\')"> if on_registration_path?\n</li>\n \n <li onclick="toggle(\'pre70352448881180\', \'post70352448881180\')"> if request.get?\n</li>\n \n <li onclick="toggle(\'pre70352448881180\', \'post70352448881180\')"> registration_form\n</li>\n \n <li onclick="toggle(\'pre70352448881180\', \'post70352448881180\')"> elsif request.post?\n</li>\n \n <li onclick="toggle(\'pre70352448881180\', \'post70352448881180\')"> registration_phase\n</li>\n \n <li onclick="toggle(\'pre70352448881180\', \'post70352448881180\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448881180\', \'post70352448881180\')"> else\n</li>\n \n </ol>\n \n\n <ol start="36" class="context-line">\n <li onclick="toggle(\'pre70352448881180\', \'post70352448881180\')"> call_app!<span>...</span></li></ol>\n\n \n <ol start=\'37\' class="post-context" id="post70352448881180">\n \n <li onclick="toggle(\'pre70352448881180\', \'post70352448881180\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448881180\', \'post70352448881180\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448881180\', \'post70352448881180\')">\n</li>\n \n <li onclick="toggle(\'pre70352448881180\', \'post70352448881180\')"> def registration_form\n</li>\n \n <li onclick="toggle(\'pre70352448881180\', \'post70352448881180\')"> OmniAuth::Form.build(:title => 'Register Identity') do |f|\n</li>\n \n <li onclick="toggle(\'pre70352448881180\', \'post70352448881180\')"> options[:fields].each do |field|\n</li>\n \n <li onclick="toggle(\'pre70352448881180\', \'post70352448881180\')"> f.text_field field.to_s.capitalize, field.to_s\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/omniauth-1.1.4/lib/omniauth/strategy.rb</code>: in <code>call!</code>\n\n \n <div class="context" id="c70352448898880">\n \n <ol start="176" class="pre-context" id="pre70352448898880">\n \n <li onclick="toggle(\'pre70352448898880\', \'post70352448898880\')"> @env['omniauth.strategy'] = self if on_auth_path?\n</li>\n \n <li onclick="toggle(\'pre70352448898880\', \'post70352448898880\')">\n</li>\n \n <li onclick="toggle(\'pre70352448898880\', \'post70352448898880\')"> return mock_call!(env) if OmniAuth.config.test_mode\n</li>\n \n <li onclick="toggle(\'pre70352448898880\', \'post70352448898880\')">\n</li>\n \n <li onclick="toggle(\'pre70352448898880\', \'post70352448898880\')"> return options_call if on_auth_path? && options_request?\n</li>\n \n <li onclick="toggle(\'pre70352448898880\', \'post70352448898880\')"> return request_call if on_request_path? && OmniAuth.config.allowed_request_methods.include?(request.request_method.downcase.to_sym)\n</li>\n \n <li onclick="toggle(\'pre70352448898880\', \'post70352448898880\')"> return callback_call if on_callback_path?\n</li>\n \n </ol>\n \n\n <ol start="183" class="context-line">\n <li onclick="toggle(\'pre70352448898880\', \'post70352448898880\')"> return other_phase if respond_to?(:other_phase)<span>...</span></li></ol>\n\n \n <ol start=\'184\' class="post-context" id="post70352448898880">\n \n <li onclick="toggle(\'pre70352448898880\', \'post70352448898880\')"> @app.call(env)\n</li>\n \n <li onclick="toggle(\'pre70352448898880\', \'post70352448898880\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448898880\', \'post70352448898880\')">\n</li>\n \n <li onclick="toggle(\'pre70352448898880\', \'post70352448898880\')"> # Responds to an OPTIONS request.\n</li>\n \n <li onclick="toggle(\'pre70352448898880\', \'post70352448898880\')"> def options_call\n</li>\n \n <li onclick="toggle(\'pre70352448898880\', \'post70352448898880\')"> verbs = OmniAuth.config.allowed_request_methods.map(&:to_s).map(&:upcase).join(', ')\n</li>\n \n <li onclick="toggle(\'pre70352448898880\', \'post70352448898880\')"> return [ 200, { 'Allow' => verbs }, [] ]\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/omniauth-1.1.4/lib/omniauth/strategy.rb</code>: in <code>call</code>\n\n \n <div class="context" id="c70352448950680">\n \n <ol start="157" class="pre-context" id="pre70352448950680">\n \n <li onclick="toggle(\'pre70352448950680\', \'post70352448950680\')"> def log(level, message)\n</li>\n \n <li onclick="toggle(\'pre70352448950680\', \'post70352448950680\')"> OmniAuth.logger.send(level, "(#{name}) #{message}")\n</li>\n \n <li onclick="toggle(\'pre70352448950680\', \'post70352448950680\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448950680\', \'post70352448950680\')">\n</li>\n \n <li onclick="toggle(\'pre70352448950680\', \'post70352448950680\')"> # Duplicates this instance and runs #call! on it.\n</li>\n \n <li onclick="toggle(\'pre70352448950680\', \'post70352448950680\')"> # @param [Hash] The Rack environment.\n</li>\n \n <li onclick="toggle(\'pre70352448950680\', \'post70352448950680\')"> def call(env)\n</li>\n \n </ol>\n \n\n <ol start="164" class="context-line">\n <li onclick="toggle(\'pre70352448950680\', \'post70352448950680\')"> dup.call!(env)<span>...</span></li></ol>\n\n \n <ol start=\'165\' class="post-context" id="post70352448950680">\n \n <li onclick="toggle(\'pre70352448950680\', \'post70352448950680\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352448950680\', \'post70352448950680\')">\n</li>\n \n <li onclick="toggle(\'pre70352448950680\', \'post70352448950680\')"> # The logic for dispatching any additional actions that need\n</li>\n \n <li onclick="toggle(\'pre70352448950680\', \'post70352448950680\')"> # to be taken. For instance, calling the request phase if\n</li>\n \n <li onclick="toggle(\'pre70352448950680\', \'post70352448950680\')"> # the request path is recognized.\n</li>\n \n <li onclick="toggle(\'pre70352448950680\', \'post70352448950680\')"> #\n</li>\n \n <li onclick="toggle(\'pre70352448950680\', \'post70352448950680\')"> # @param env [Hash] The Rack environment.\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/omniauth-1.1.4/lib/omniauth/strategy.rb</code>: in <code>call!</code>\n\n \n <div class="context" id="c70352449002780">\n \n <ol start="177" class="pre-context" id="pre70352449002780">\n \n <li onclick="toggle(\'pre70352449002780\', \'post70352449002780\')">\n</li>\n \n <li onclick="toggle(\'pre70352449002780\', \'post70352449002780\')"> return mock_call!(env) if OmniAuth.config.test_mode\n</li>\n \n <li onclick="toggle(\'pre70352449002780\', \'post70352449002780\')">\n</li>\n \n <li onclick="toggle(\'pre70352449002780\', \'post70352449002780\')"> return options_call if on_auth_path? && options_request?\n</li>\n \n <li onclick="toggle(\'pre70352449002780\', \'post70352449002780\')"> return request_call if on_request_path? && OmniAuth.config.allowed_request_methods.include?(request.request_method.downcase.to_sym)\n</li>\n \n <li onclick="toggle(\'pre70352449002780\', \'post70352449002780\')"> return callback_call if on_callback_path?\n</li>\n \n <li onclick="toggle(\'pre70352449002780\', \'post70352449002780\')"> return other_phase if respond_to?(:other_phase)\n</li>\n \n </ol>\n \n\n <ol start="184" class="context-line">\n <li onclick="toggle(\'pre70352449002780\', \'post70352449002780\')"> @app.call(env)<span>...</span></li></ol>\n\n \n <ol start=\'185\' class="post-context" id="post70352449002780">\n \n <li onclick="toggle(\'pre70352449002780\', \'post70352449002780\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352449002780\', \'post70352449002780\')">\n</li>\n \n <li onclick="toggle(\'pre70352449002780\', \'post70352449002780\')"> # Responds to an OPTIONS request.\n</li>\n \n <li onclick="toggle(\'pre70352449002780\', \'post70352449002780\')"> def options_call\n</li>\n \n <li onclick="toggle(\'pre70352449002780\', \'post70352449002780\')"> verbs = OmniAuth.config.allowed_request_methods.map(&:to_s).map(&:upcase).join(', ')\n</li>\n \n <li onclick="toggle(\'pre70352449002780\', \'post70352449002780\')"> return [ 200, { 'Allow' => verbs }, [] ]\n</li>\n \n <li onclick="toggle(\'pre70352449002780\', \'post70352449002780\')"> end\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/omniauth-1.1.4/lib/omniauth/strategy.rb</code>: in <code>call</code>\n\n \n <div class="context" id="c70352449030220">\n \n <ol start="157" class="pre-context" id="pre70352449030220">\n \n <li onclick="toggle(\'pre70352449030220\', \'post70352449030220\')"> def log(level, message)\n</li>\n \n <li onclick="toggle(\'pre70352449030220\', \'post70352449030220\')"> OmniAuth.logger.send(level, "(#{name}) #{message}")\n</li>\n \n <li onclick="toggle(\'pre70352449030220\', \'post70352449030220\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352449030220\', \'post70352449030220\')">\n</li>\n \n <li onclick="toggle(\'pre70352449030220\', \'post70352449030220\')"> # Duplicates this instance and runs #call! on it.\n</li>\n \n <li onclick="toggle(\'pre70352449030220\', \'post70352449030220\')"> # @param [Hash] The Rack environment.\n</li>\n \n <li onclick="toggle(\'pre70352449030220\', \'post70352449030220\')"> def call(env)\n</li>\n \n </ol>\n \n\n <ol start="164" class="context-line">\n <li onclick="toggle(\'pre70352449030220\', \'post70352449030220\')"> dup.call!(env)<span>...</span></li></ol>\n\n \n <ol start=\'165\' class="post-context" id="post70352449030220">\n \n <li onclick="toggle(\'pre70352449030220\', \'post70352449030220\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352449030220\', \'post70352449030220\')">\n</li>\n \n <li onclick="toggle(\'pre70352449030220\', \'post70352449030220\')"> # The logic for dispatching any additional actions that need\n</li>\n \n <li onclick="toggle(\'pre70352449030220\', \'post70352449030220\')"> # to be taken. For instance, calling the request phase if\n</li>\n \n <li onclick="toggle(\'pre70352449030220\', \'post70352449030220\')"> # the request path is recognized.\n</li>\n \n <li onclick="toggle(\'pre70352449030220\', \'post70352449030220\')"> #\n</li>\n \n <li onclick="toggle(\'pre70352449030220\', \'post70352449030220\')"> # @param env [Hash] The Rack environment.\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/omniauth-1.1.4/lib/omniauth/strategy.rb</code>: in <code>call!</code>\n\n \n <div class="context" id="c70352449082360">\n \n <ol start="177" class="pre-context" id="pre70352449082360">\n \n <li onclick="toggle(\'pre70352449082360\', \'post70352449082360\')">\n</li>\n \n <li onclick="toggle(\'pre70352449082360\', \'post70352449082360\')"> return mock_call!(env) if OmniAuth.config.test_mode\n</li>\n \n <li onclick="toggle(\'pre70352449082360\', \'post70352449082360\')">\n</li>\n \n <li onclick="toggle(\'pre70352449082360\', \'post70352449082360\')"> return options_call if on_auth_path? && options_request?\n</li>\n \n <li onclick="toggle(\'pre70352449082360\', \'post70352449082360\')"> return request_call if on_request_path? && OmniAuth.config.allowed_request_methods.include?(request.request_method.downcase.to_sym)\n</li>\n \n <li onclick="toggle(\'pre70352449082360\', \'post70352449082360\')"> return callback_call if on_callback_path?\n</li>\n \n <li onclick="toggle(\'pre70352449082360\', \'post70352449082360\')"> return other_phase if respond_to?(:other_phase)\n</li>\n \n </ol>\n \n\n <ol start="184" class="context-line">\n <li onclick="toggle(\'pre70352449082360\', \'post70352449082360\')"> @app.call(env)<span>...</span></li></ol>\n\n \n <ol start=\'185\' class="post-context" id="post70352449082360">\n \n <li onclick="toggle(\'pre70352449082360\', \'post70352449082360\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352449082360\', \'post70352449082360\')">\n</li>\n \n <li onclick="toggle(\'pre70352449082360\', \'post70352449082360\')"> # Responds to an OPTIONS request.\n</li>\n \n <li onclick="toggle(\'pre70352449082360\', \'post70352449082360\')"> def options_call\n</li>\n \n <li onclick="toggle(\'pre70352449082360\', \'post70352449082360\')"> verbs = OmniAuth.config.allowed_request_methods.map(&:to_s).map(&:upcase).join(', ')\n</li>\n \n <li onclick="toggle(\'pre70352449082360\', \'post70352449082360\')"> return [ 200, { 'Allow' => verbs }, [] ]\n</li>\n \n <li onclick="toggle(\'pre70352449082360\', \'post70352449082360\')"> end\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/omniauth-1.1.4/lib/omniauth/strategy.rb</code>: in <code>call</code>\n\n \n <div class="context" id="c70352449134200">\n \n <ol start="157" class="pre-context" id="pre70352449134200">\n \n <li onclick="toggle(\'pre70352449134200\', \'post70352449134200\')"> def log(level, message)\n</li>\n \n <li onclick="toggle(\'pre70352449134200\', \'post70352449134200\')"> OmniAuth.logger.send(level, "(#{name}) #{message}")\n</li>\n \n <li onclick="toggle(\'pre70352449134200\', \'post70352449134200\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352449134200\', \'post70352449134200\')">\n</li>\n \n <li onclick="toggle(\'pre70352449134200\', \'post70352449134200\')"> # Duplicates this instance and runs #call! on it.\n</li>\n \n <li onclick="toggle(\'pre70352449134200\', \'post70352449134200\')"> # @param [Hash] The Rack environment.\n</li>\n \n <li onclick="toggle(\'pre70352449134200\', \'post70352449134200\')"> def call(env)\n</li>\n \n </ol>\n \n\n <ol start="164" class="context-line">\n <li onclick="toggle(\'pre70352449134200\', \'post70352449134200\')"> dup.call!(env)<span>...</span></li></ol>\n\n \n <ol start=\'165\' class="post-context" id="post70352449134200">\n \n <li onclick="toggle(\'pre70352449134200\', \'post70352449134200\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352449134200\', \'post70352449134200\')">\n</li>\n \n <li onclick="toggle(\'pre70352449134200\', \'post70352449134200\')"> # The logic for dispatching any additional actions that need\n</li>\n \n <li onclick="toggle(\'pre70352449134200\', \'post70352449134200\')"> # to be taken. For instance, calling the request phase if\n</li>\n \n <li onclick="toggle(\'pre70352449134200\', \'post70352449134200\')"> # the request path is recognized.\n</li>\n \n <li onclick="toggle(\'pre70352449134200\', \'post70352449134200\')"> #\n</li>\n \n <li onclick="toggle(\'pre70352449134200\', \'post70352449134200\')"> # @param env [Hash] The Rack environment.\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/omniauth-1.1.4/lib/omniauth/builder.rb</code>: in <code>call</code>\n\n \n <div class="context" id="c70352449161200">\n \n <ol start="42" class="pre-context" id="pre70352449161200">\n \n <li onclick="toggle(\'pre70352449161200\', \'post70352449161200\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352449161200\', \'post70352449161200\')">\n</li>\n \n <li onclick="toggle(\'pre70352449161200\', \'post70352449161200\')"> args.last.is_a?(Hash) ? args.push(options.merge(args.pop)) : args.push(options)\n</li>\n \n <li onclick="toggle(\'pre70352449161200\', \'post70352449161200\')"> use middleware, *args, &block\n</li>\n \n <li onclick="toggle(\'pre70352449161200\', \'post70352449161200\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352449161200\', \'post70352449161200\')">\n</li>\n \n <li onclick="toggle(\'pre70352449161200\', \'post70352449161200\')"> def call(env)\n</li>\n \n </ol>\n \n\n <ol start="49" class="context-line">\n <li onclick="toggle(\'pre70352449161200\', \'post70352449161200\')"> to_app.call(env)<span>...</span></li></ol>\n\n \n <ol start=\'50\' class="post-context" id="post70352449161200">\n \n <li onclick="toggle(\'pre70352449161200\', \'post70352449161200\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352449161200\', \'post70352449161200\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352449161200\', \'post70352449161200\')">end\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/rack-1.5.2/lib/rack/urlmap.rb</code>: in <code>block in call</code>\n\n \n <div class="context" id="c70352449180460">\n \n <ol start="58" class="pre-context" id="pre70352449180460">\n \n <li onclick="toggle(\'pre70352449180460\', \'post70352449180460\')">\n</li>\n \n <li onclick="toggle(\'pre70352449180460\', \'post70352449180460\')"> rest = m[1]\n</li>\n \n <li onclick="toggle(\'pre70352449180460\', \'post70352449180460\')"> next unless !rest || rest.empty? || rest[0] == ?/\n</li>\n \n <li onclick="toggle(\'pre70352449180460\', \'post70352449180460\')">\n</li>\n \n <li onclick="toggle(\'pre70352449180460\', \'post70352449180460\')"> env['SCRIPT_NAME'] = (script_name + location)\n</li>\n \n <li onclick="toggle(\'pre70352449180460\', \'post70352449180460\')"> env['PATH_INFO'] = rest\n</li>\n \n <li onclick="toggle(\'pre70352449180460\', \'post70352449180460\')">\n</li>\n \n </ol>\n \n\n <ol start="65" class="context-line">\n <li onclick="toggle(\'pre70352449180460\', \'post70352449180460\')"> return app.call(env)<span>...</span></li></ol>\n\n \n <ol start=\'66\' class="post-context" id="post70352449180460">\n \n <li onclick="toggle(\'pre70352449180460\', \'post70352449180460\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352449180460\', \'post70352449180460\')">\n</li>\n \n <li onclick="toggle(\'pre70352449180460\', \'post70352449180460\')"> [404, {"Content-Type" => "text/plain", "X-Cascade" => "pass"}, ["Not Found: #{path}"]]\n</li>\n \n <li onclick="toggle(\'pre70352449180460\', \'post70352449180460\')">\n</li>\n \n <li onclick="toggle(\'pre70352449180460\', \'post70352449180460\')"> ensure\n</li>\n \n <li onclick="toggle(\'pre70352449180460\', \'post70352449180460\')"> env['PATH_INFO'] = path\n</li>\n \n <li onclick="toggle(\'pre70352449180460\', \'post70352449180460\')"> env['SCRIPT_NAME'] = script_name\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/rack-1.5.2/lib/rack/urlmap.rb</code>: in <code>each</code>\n\n \n <div class="context" id="c70352449175640">\n \n <ol start="43" class="pre-context" id="pre70352449175640">\n \n <li onclick="toggle(\'pre70352449175640\', \'post70352449175640\')"> def call(env)\n</li>\n \n <li onclick="toggle(\'pre70352449175640\', \'post70352449175640\')"> path = env["PATH_INFO"]\n</li>\n \n <li onclick="toggle(\'pre70352449175640\', \'post70352449175640\')"> script_name = env['SCRIPT_NAME']\n</li>\n \n <li onclick="toggle(\'pre70352449175640\', \'post70352449175640\')"> hHost = env['HTTP_HOST']\n</li>\n \n <li onclick="toggle(\'pre70352449175640\', \'post70352449175640\')"> sName = env['SERVER_NAME']\n</li>\n \n <li onclick="toggle(\'pre70352449175640\', \'post70352449175640\')"> sPort = env['SERVER_PORT']\n</li>\n \n <li onclick="toggle(\'pre70352449175640\', \'post70352449175640\')">\n</li>\n \n </ol>\n \n\n <ol start="50" class="context-line">\n <li onclick="toggle(\'pre70352449175640\', \'post70352449175640\')"> @mapping.each do |host, location, match, app|<span>...</span></li></ol>\n\n \n <ol start=\'51\' class="post-context" id="post70352449175640">\n \n <li onclick="toggle(\'pre70352449175640\', \'post70352449175640\')"> unless hHost == host \\\n</li>\n \n <li onclick="toggle(\'pre70352449175640\', \'post70352449175640\')"> || sName == host \\\n</li>\n \n <li onclick="toggle(\'pre70352449175640\', \'post70352449175640\')"> || (!host && (hHost == sName || hHost == sName+':'+sPort))\n</li>\n \n <li onclick="toggle(\'pre70352449175640\', \'post70352449175640\')"> next\n</li>\n \n <li onclick="toggle(\'pre70352449175640\', \'post70352449175640\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352449175640\', \'post70352449175640\')">\n</li>\n \n <li onclick="toggle(\'pre70352449175640\', \'post70352449175640\')"> next unless m = match.match(path.to_s)\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/rack-1.5.2/lib/rack/urlmap.rb</code>: in <code>call</code>\n\n \n <div class="context" id="c70352449195260">\n \n <ol start="43" class="pre-context" id="pre70352449195260">\n \n <li onclick="toggle(\'pre70352449195260\', \'post70352449195260\')"> def call(env)\n</li>\n \n <li onclick="toggle(\'pre70352449195260\', \'post70352449195260\')"> path = env["PATH_INFO"]\n</li>\n \n <li onclick="toggle(\'pre70352449195260\', \'post70352449195260\')"> script_name = env['SCRIPT_NAME']\n</li>\n \n <li onclick="toggle(\'pre70352449195260\', \'post70352449195260\')"> hHost = env['HTTP_HOST']\n</li>\n \n <li onclick="toggle(\'pre70352449195260\', \'post70352449195260\')"> sName = env['SERVER_NAME']\n</li>\n \n <li onclick="toggle(\'pre70352449195260\', \'post70352449195260\')"> sPort = env['SERVER_PORT']\n</li>\n \n <li onclick="toggle(\'pre70352449195260\', \'post70352449195260\')">\n</li>\n \n </ol>\n \n\n <ol start="50" class="context-line">\n <li onclick="toggle(\'pre70352449195260\', \'post70352449195260\')"> @mapping.each do |host, location, match, app|<span>...</span></li></ol>\n\n \n <ol start=\'51\' class="post-context" id="post70352449195260">\n \n <li onclick="toggle(\'pre70352449195260\', \'post70352449195260\')"> unless hHost == host \\\n</li>\n \n <li onclick="toggle(\'pre70352449195260\', \'post70352449195260\')"> || sName == host \\\n</li>\n \n <li onclick="toggle(\'pre70352449195260\', \'post70352449195260\')"> || (!host && (hHost == sName || hHost == sName+':'+sPort))\n</li>\n \n <li onclick="toggle(\'pre70352449195260\', \'post70352449195260\')"> next\n</li>\n \n <li onclick="toggle(\'pre70352449195260\', \'post70352449195260\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352449195260\', \'post70352449195260\')">\n</li>\n \n <li onclick="toggle(\'pre70352449195260\', \'post70352449195260\')"> next unless m = match.match(path.to_s)\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/bundler/gems/rack-cors-13782d90ebda/lib/rack/cors.rb</code>: in <code>call</code>\n\n \n <div class="context" id="c70352449215040">\n \n <ol start="47" class="pre-context" id="pre70352449215040">\n \n <li onclick="toggle(\'pre70352449215040\', \'post70352449215040\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352449215040\', \'post70352449215040\')"> return [200, headers, []]\n</li>\n \n <li onclick="toggle(\'pre70352449215040\', \'post70352449215040\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352449215040\', \'post70352449215040\')"> else\n</li>\n \n <li onclick="toggle(\'pre70352449215040\', \'post70352449215040\')"> cors_headers = process_cors(env)\n</li>\n \n <li onclick="toggle(\'pre70352449215040\', \'post70352449215040\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352449215040\', \'post70352449215040\')"> end\n</li>\n \n </ol>\n \n\n <ol start="54" class="context-line">\n <li onclick="toggle(\'pre70352449215040\', \'post70352449215040\')"> status, headers, body = @app.call env<span>...</span></li></ol>\n\n \n <ol start=\'55\' class="post-context" id="post70352449215040">\n \n <li onclick="toggle(\'pre70352449215040\', \'post70352449215040\')"> if cors_headers\n</li>\n \n <li onclick="toggle(\'pre70352449215040\', \'post70352449215040\')"> headers = headers.merge(cors_headers)\n</li>\n \n <li onclick="toggle(\'pre70352449215040\', \'post70352449215040\')"> unless headers['Access-Control-Allow-Origin'] == '*'\n</li>\n \n <li onclick="toggle(\'pre70352449215040\', \'post70352449215040\')"> vary = headers['Vary']\n</li>\n \n <li onclick="toggle(\'pre70352449215040\', \'post70352449215040\')"> headers['Vary'] = ((vary ? vary.split(/,\\s*/) : []) + ['Origin']).uniq.join(', ')\n</li>\n \n <li onclick="toggle(\'pre70352449215040\', \'post70352449215040\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352449215040\', \'post70352449215040\')"> end\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/rack-1.5.2/lib/rack/session/abstract/id.rb</code>: in <code>context</code>\n\n \n <div class="context" id="c70352449230040">\n \n <ol start="218" class="pre-context" id="pre70352449230040">\n \n <li onclick="toggle(\'pre70352449230040\', \'post70352449230040\')">\n</li>\n \n <li onclick="toggle(\'pre70352449230040\', \'post70352449230040\')"> def call(env)\n</li>\n \n <li onclick="toggle(\'pre70352449230040\', \'post70352449230040\')"> context(env)\n</li>\n \n <li onclick="toggle(\'pre70352449230040\', \'post70352449230040\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352449230040\', \'post70352449230040\')">\n</li>\n \n <li onclick="toggle(\'pre70352449230040\', \'post70352449230040\')"> def context(env, app=@app)\n</li>\n \n <li onclick="toggle(\'pre70352449230040\', \'post70352449230040\')"> prepare_session(env)\n</li>\n \n </ol>\n \n\n <ol start="225" class="context-line">\n <li onclick="toggle(\'pre70352449230040\', \'post70352449230040\')"> status, headers, body = app.call(env)<span>...</span></li></ol>\n\n \n <ol start=\'226\' class="post-context" id="post70352449230040">\n \n <li onclick="toggle(\'pre70352449230040\', \'post70352449230040\')"> commit_session(env, status, headers, body)\n</li>\n \n <li onclick="toggle(\'pre70352449230040\', \'post70352449230040\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352449230040\', \'post70352449230040\')">\n</li>\n \n <li onclick="toggle(\'pre70352449230040\', \'post70352449230040\')"> private\n</li>\n \n <li onclick="toggle(\'pre70352449230040\', \'post70352449230040\')">\n</li>\n \n <li onclick="toggle(\'pre70352449230040\', \'post70352449230040\')"> def initialize_sid\n</li>\n \n <li onclick="toggle(\'pre70352449230040\', \'post70352449230040\')"> @sidbits = @default_options[:sidbits]\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/rack-1.5.2/lib/rack/session/abstract/id.rb</code>: in <code>call</code>\n\n \n <div class="context" id="c70352449265400">\n \n <ol start="213" class="pre-context" id="pre70352449265400">\n \n <li onclick="toggle(\'pre70352449265400\', \'post70352449265400\')"> @default_options = self.class::DEFAULT_OPTIONS.merge(options)\n</li>\n \n <li onclick="toggle(\'pre70352449265400\', \'post70352449265400\')"> @key = @default_options.delete(:key)\n</li>\n \n <li onclick="toggle(\'pre70352449265400\', \'post70352449265400\')"> @cookie_only = @default_options.delete(:cookie_only)\n</li>\n \n <li onclick="toggle(\'pre70352449265400\', \'post70352449265400\')"> initialize_sid\n</li>\n \n <li onclick="toggle(\'pre70352449265400\', \'post70352449265400\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352449265400\', \'post70352449265400\')">\n</li>\n \n <li onclick="toggle(\'pre70352449265400\', \'post70352449265400\')"> def call(env)\n</li>\n \n </ol>\n \n\n <ol start="220" class="context-line">\n <li onclick="toggle(\'pre70352449265400\', \'post70352449265400\')"> context(env)<span>...</span></li></ol>\n\n \n <ol start=\'221\' class="post-context" id="post70352449265400">\n \n <li onclick="toggle(\'pre70352449265400\', \'post70352449265400\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352449265400\', \'post70352449265400\')">\n</li>\n \n <li onclick="toggle(\'pre70352449265400\', \'post70352449265400\')"> def context(env, app=@app)\n</li>\n \n <li onclick="toggle(\'pre70352449265400\', \'post70352449265400\')"> prepare_session(env)\n</li>\n \n <li onclick="toggle(\'pre70352449265400\', \'post70352449265400\')"> status, headers, body = app.call(env)\n</li>\n \n <li onclick="toggle(\'pre70352449265400\', \'post70352449265400\')"> commit_session(env, status, headers, body)\n</li>\n \n <li onclick="toggle(\'pre70352449265400\', \'post70352449265400\')"> end\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/newrelic_rpm-3.5.7.59/lib/new_relic/rack/developer_mode.rb</code>: in <code>call</code>\n\n \n <div class="context" id="c70352449276220">\n \n <ol start="17" class="pre-context" id="pre70352449276220">\n \n <li onclick="toggle(\'pre70352449276220\', \'post70352449276220\')"> include NewRelic::DeveloperModeHelper\n</li>\n \n <li onclick="toggle(\'pre70352449276220\', \'post70352449276220\')">\n</li>\n \n <li onclick="toggle(\'pre70352449276220\', \'post70352449276220\')"> def initialize(app)\n</li>\n \n <li onclick="toggle(\'pre70352449276220\', \'post70352449276220\')"> @app = app\n</li>\n \n <li onclick="toggle(\'pre70352449276220\', \'post70352449276220\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352449276220\', \'post70352449276220\')">\n</li>\n \n <li onclick="toggle(\'pre70352449276220\', \'post70352449276220\')"> def call(env)\n</li>\n \n </ol>\n \n\n <ol start="24" class="context-line">\n <li onclick="toggle(\'pre70352449276220\', \'post70352449276220\')"> return @app.call(env) unless /^\\/newrelic/ =~ ::Rack::Request.new(env).path_info<span>...</span></li></ol>\n\n \n <ol start=\'25\' class="post-context" id="post70352449276220">\n \n <li onclick="toggle(\'pre70352449276220\', \'post70352449276220\')"> dup._call(env)\n</li>\n \n <li onclick="toggle(\'pre70352449276220\', \'post70352449276220\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352449276220\', \'post70352449276220\')">\n</li>\n \n <li onclick="toggle(\'pre70352449276220\', \'post70352449276220\')"> protected\n</li>\n \n <li onclick="toggle(\'pre70352449276220\', \'post70352449276220\')">\n</li>\n \n <li onclick="toggle(\'pre70352449276220\', \'post70352449276220\')"> def _call(env)\n</li>\n \n <li onclick="toggle(\'pre70352449276220\', \'post70352449276220\')"> @req = ::Rack::Request.new(env)\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/rack-1.5.2/lib/rack/lint.rb</code>: in <code>_call</code>\n\n \n <div class="context" id="c70352461890060">\n \n <ol start="42" class="pre-context" id="pre70352461890060">\n \n <li onclick="toggle(\'pre70352461890060\', \'post70352461890060\')"> assert("No env given") { env }\n</li>\n \n <li onclick="toggle(\'pre70352461890060\', \'post70352461890060\')"> check_env env\n</li>\n \n <li onclick="toggle(\'pre70352461890060\', \'post70352461890060\')">\n</li>\n \n <li onclick="toggle(\'pre70352461890060\', \'post70352461890060\')"> env['rack.input'] = InputWrapper.new(env['rack.input'])\n</li>\n \n <li onclick="toggle(\'pre70352461890060\', \'post70352461890060\')"> env['rack.errors'] = ErrorWrapper.new(env['rack.errors'])\n</li>\n \n <li onclick="toggle(\'pre70352461890060\', \'post70352461890060\')">\n</li>\n \n <li onclick="toggle(\'pre70352461890060\', \'post70352461890060\')"> ## and returns an Array of exactly three values:\n</li>\n \n </ol>\n \n\n <ol start="49" class="context-line">\n <li onclick="toggle(\'pre70352461890060\', \'post70352461890060\')"> status, headers, @body = @app.call(env)<span>...</span></li></ol>\n\n \n <ol start=\'50\' class="post-context" id="post70352461890060">\n \n <li onclick="toggle(\'pre70352461890060\', \'post70352461890060\')"> ## The *status*,\n</li>\n \n <li onclick="toggle(\'pre70352461890060\', \'post70352461890060\')"> check_status status\n</li>\n \n <li onclick="toggle(\'pre70352461890060\', \'post70352461890060\')"> ## the *headers*,\n</li>\n \n <li onclick="toggle(\'pre70352461890060\', \'post70352461890060\')"> check_headers headers\n</li>\n \n <li onclick="toggle(\'pre70352461890060\', \'post70352461890060\')">\n</li>\n \n <li onclick="toggle(\'pre70352461890060\', \'post70352461890060\')"> check_hijack_response headers, env\n</li>\n \n <li onclick="toggle(\'pre70352461890060\', \'post70352461890060\')">\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/rack-1.5.2/lib/rack/lint.rb</code>: in <code>call</code>\n\n \n <div class="context" id="c70352461941980">\n \n <ol start="30" class="pre-context" id="pre70352461941980">\n \n <li onclick="toggle(\'pre70352461941980\', \'post70352461941980\')"> ## after to catch all mistakes.\n</li>\n \n <li onclick="toggle(\'pre70352461941980\', \'post70352461941980\')">\n</li>\n \n <li onclick="toggle(\'pre70352461941980\', \'post70352461941980\')"> ## = Rack applications\n</li>\n \n <li onclick="toggle(\'pre70352461941980\', \'post70352461941980\')">\n</li>\n \n <li onclick="toggle(\'pre70352461941980\', \'post70352461941980\')"> ## A Rack application is a Ruby object (not a class) that\n</li>\n \n <li onclick="toggle(\'pre70352461941980\', \'post70352461941980\')"> ## responds to +call+.\n</li>\n \n <li onclick="toggle(\'pre70352461941980\', \'post70352461941980\')"> def call(env=nil)\n</li>\n \n </ol>\n \n\n <ol start="37" class="context-line">\n <li onclick="toggle(\'pre70352461941980\', \'post70352461941980\')"> dup._call(env)<span>...</span></li></ol>\n\n \n <ol start=\'38\' class="post-context" id="post70352461941980">\n \n <li onclick="toggle(\'pre70352461941980\', \'post70352461941980\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352461941980\', \'post70352461941980\')">\n</li>\n \n <li onclick="toggle(\'pre70352461941980\', \'post70352461941980\')"> def _call(env)\n</li>\n \n <li onclick="toggle(\'pre70352461941980\', \'post70352461941980\')"> ## It takes exactly one argument, the *environment*\n</li>\n \n <li onclick="toggle(\'pre70352461941980\', \'post70352461941980\')"> assert("No env given") { env }\n</li>\n \n <li onclick="toggle(\'pre70352461941980\', \'post70352461941980\')"> check_env env\n</li>\n \n <li onclick="toggle(\'pre70352461941980\', \'post70352461941980\')">\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/rack-1.5.2/lib/rack/showexceptions.rb</code>: in <code>call</code>\n\n \n <div class="context" id="c70352461993960">\n \n <ol start="17" class="pre-context" id="pre70352461993960">\n \n <li onclick="toggle(\'pre70352461993960\', \'post70352461993960\')">\n</li>\n \n <li onclick="toggle(\'pre70352461993960\', \'post70352461993960\')"> def initialize(app)\n</li>\n \n <li onclick="toggle(\'pre70352461993960\', \'post70352461993960\')"> @app = app\n</li>\n \n <li onclick="toggle(\'pre70352461993960\', \'post70352461993960\')"> @template = ERB.new(TEMPLATE)\n</li>\n \n <li onclick="toggle(\'pre70352461993960\', \'post70352461993960\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352461993960\', \'post70352461993960\')">\n</li>\n \n <li onclick="toggle(\'pre70352461993960\', \'post70352461993960\')"> def call(env)\n</li>\n \n </ol>\n \n\n <ol start="24" class="context-line">\n <li onclick="toggle(\'pre70352461993960\', \'post70352461993960\')"> @app.call(env)<span>...</span></li></ol>\n\n \n <ol start=\'25\' class="post-context" id="post70352461993960">\n \n <li onclick="toggle(\'pre70352461993960\', \'post70352461993960\')"> rescue StandardError, LoadError, SyntaxError => e\n</li>\n \n <li onclick="toggle(\'pre70352461993960\', \'post70352461993960\')"> exception_string = dump_exception(e)\n</li>\n \n <li onclick="toggle(\'pre70352461993960\', \'post70352461993960\')">\n</li>\n \n <li onclick="toggle(\'pre70352461993960\', \'post70352461993960\')"> env["rack.errors"].puts(exception_string)\n</li>\n \n <li onclick="toggle(\'pre70352461993960\', \'post70352461993960\')"> env["rack.errors"].flush\n</li>\n \n <li onclick="toggle(\'pre70352461993960\', \'post70352461993960\')">\n</li>\n \n <li onclick="toggle(\'pre70352461993960\', \'post70352461993960\')"> if prefers_plain_text?(env)\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/rack-1.5.2/lib/rack/commonlogger.rb</code>: in <code>call</code>\n\n \n <div class="context" id="c70352462005200">\n \n <ol start="26" class="pre-context" id="pre70352462005200">\n \n <li onclick="toggle(\'pre70352462005200\', \'post70352462005200\')"> def initialize(app, logger=nil)\n</li>\n \n <li onclick="toggle(\'pre70352462005200\', \'post70352462005200\')"> @app = app\n</li>\n \n <li onclick="toggle(\'pre70352462005200\', \'post70352462005200\')"> @logger = logger\n</li>\n \n <li onclick="toggle(\'pre70352462005200\', \'post70352462005200\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462005200\', \'post70352462005200\')">\n</li>\n \n <li onclick="toggle(\'pre70352462005200\', \'post70352462005200\')"> def call(env)\n</li>\n \n <li onclick="toggle(\'pre70352462005200\', \'post70352462005200\')"> began_at = Time.now\n</li>\n \n </ol>\n \n\n <ol start="33" class="context-line">\n <li onclick="toggle(\'pre70352462005200\', \'post70352462005200\')"> status, header, body = @app.call(env)<span>...</span></li></ol>\n\n \n <ol start=\'34\' class="post-context" id="post70352462005200">\n \n <li onclick="toggle(\'pre70352462005200\', \'post70352462005200\')"> header = Utils::HeaderHash.new(header)\n</li>\n \n <li onclick="toggle(\'pre70352462005200\', \'post70352462005200\')"> body = BodyProxy.new(body) { log(env, status, header, began_at) }\n</li>\n \n <li onclick="toggle(\'pre70352462005200\', \'post70352462005200\')"> [status, header, body]\n</li>\n \n <li onclick="toggle(\'pre70352462005200\', \'post70352462005200\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462005200\', \'post70352462005200\')">\n</li>\n \n <li onclick="toggle(\'pre70352462005200\', \'post70352462005200\')"> private\n</li>\n \n <li onclick="toggle(\'pre70352462005200\', \'post70352462005200\')">\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/sinatra-1.3.4/lib/sinatra/base.rb</code>: in <code>call</code>\n\n \n <div class="context" id="c70352462025060">\n \n <ol start="154" class="pre-context" id="pre70352462025060">\n \n <li onclick="toggle(\'pre70352462025060\', \'post70352462025060\')"> env['sinatra.commonlogger'] ? @app.call(env) : super\n</li>\n \n <li onclick="toggle(\'pre70352462025060\', \'post70352462025060\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462025060\', \'post70352462025060\')">\n</li>\n \n <li onclick="toggle(\'pre70352462025060\', \'post70352462025060\')"> superclass.class_eval do\n</li>\n \n <li onclick="toggle(\'pre70352462025060\', \'post70352462025060\')"> alias call_without_check call unless method_defined? :call_without_check\n</li>\n \n <li onclick="toggle(\'pre70352462025060\', \'post70352462025060\')"> def call(env)\n</li>\n \n <li onclick="toggle(\'pre70352462025060\', \'post70352462025060\')"> env['sinatra.commonlogger'] = true\n</li>\n \n </ol>\n \n\n <ol start="161" class="context-line">\n <li onclick="toggle(\'pre70352462025060\', \'post70352462025060\')"> call_without_check(env)<span>...</span></li></ol>\n\n \n <ol start=\'162\' class="post-context" id="post70352462025060">\n \n <li onclick="toggle(\'pre70352462025060\', \'post70352462025060\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462025060\', \'post70352462025060\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462025060\', \'post70352462025060\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462025060\', \'post70352462025060\')">\n</li>\n \n <li onclick="toggle(\'pre70352462025060\', \'post70352462025060\')"> class NotFound < NameError #:nodoc:\n</li>\n \n <li onclick="toggle(\'pre70352462025060\', \'post70352462025060\')"> def code ; 404 ; end\n</li>\n \n <li onclick="toggle(\'pre70352462025060\', \'post70352462025060\')"> end\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/rack-1.5.2/lib/rack/chunked.rb</code>: in <code>call</code>\n\n \n <div class="context" id="c70352462143100">\n \n <ol start="36" class="pre-context" id="pre70352462143100">\n \n <li onclick="toggle(\'pre70352462143100\', \'post70352462143100\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462143100\', \'post70352462143100\')">\n</li>\n \n <li onclick="toggle(\'pre70352462143100\', \'post70352462143100\')"> def initialize(app)\n</li>\n \n <li onclick="toggle(\'pre70352462143100\', \'post70352462143100\')"> @app = app\n</li>\n \n <li onclick="toggle(\'pre70352462143100\', \'post70352462143100\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462143100\', \'post70352462143100\')">\n</li>\n \n <li onclick="toggle(\'pre70352462143100\', \'post70352462143100\')"> def call(env)\n</li>\n \n </ol>\n \n\n <ol start="43" class="context-line">\n <li onclick="toggle(\'pre70352462143100\', \'post70352462143100\')"> status, headers, body = @app.call(env)<span>...</span></li></ol>\n\n \n <ol start=\'44\' class="post-context" id="post70352462143100">\n \n <li onclick="toggle(\'pre70352462143100\', \'post70352462143100\')"> headers = HeaderHash.new(headers)\n</li>\n \n <li onclick="toggle(\'pre70352462143100\', \'post70352462143100\')">\n</li>\n \n <li onclick="toggle(\'pre70352462143100\', \'post70352462143100\')"> if env['HTTP_VERSION'] == 'HTTP/1.0' ||\n</li>\n \n <li onclick="toggle(\'pre70352462143100\', \'post70352462143100\')"> STATUS_WITH_NO_ENTITY_BODY.include?(status) ||\n</li>\n \n <li onclick="toggle(\'pre70352462143100\', \'post70352462143100\')"> headers['Content-Length'] ||\n</li>\n \n <li onclick="toggle(\'pre70352462143100\', \'post70352462143100\')"> headers['Transfer-Encoding']\n</li>\n \n <li onclick="toggle(\'pre70352462143100\', \'post70352462143100\')"> [status, headers, body]\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/rack-1.5.2/lib/rack/content_length.rb</code>: in <code>call</code>\n\n \n <div class="context" id="c70352462138680">\n \n <ol start="7" class="pre-context" id="pre70352462138680">\n \n <li onclick="toggle(\'pre70352462138680\', \'post70352462138680\')"> include Rack::Utils\n</li>\n \n <li onclick="toggle(\'pre70352462138680\', \'post70352462138680\')">\n</li>\n \n <li onclick="toggle(\'pre70352462138680\', \'post70352462138680\')"> def initialize(app)\n</li>\n \n <li onclick="toggle(\'pre70352462138680\', \'post70352462138680\')"> @app = app\n</li>\n \n <li onclick="toggle(\'pre70352462138680\', \'post70352462138680\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462138680\', \'post70352462138680\')">\n</li>\n \n <li onclick="toggle(\'pre70352462138680\', \'post70352462138680\')"> def call(env)\n</li>\n \n </ol>\n \n\n <ol start="14" class="context-line">\n <li onclick="toggle(\'pre70352462138680\', \'post70352462138680\')"> status, headers, body = @app.call(env)<span>...</span></li></ol>\n\n \n <ol start=\'15\' class="post-context" id="post70352462138680">\n \n <li onclick="toggle(\'pre70352462138680\', \'post70352462138680\')"> headers = HeaderHash.new(headers)\n</li>\n \n <li onclick="toggle(\'pre70352462138680\', \'post70352462138680\')">\n</li>\n \n <li onclick="toggle(\'pre70352462138680\', \'post70352462138680\')"> if !STATUS_WITH_NO_ENTITY_BODY.include?(status.to_i) &&\n</li>\n \n <li onclick="toggle(\'pre70352462138680\', \'post70352462138680\')"> !headers['Content-Length'] &&\n</li>\n \n <li onclick="toggle(\'pre70352462138680\', \'post70352462138680\')"> !headers['Transfer-Encoding'] &&\n</li>\n \n <li onclick="toggle(\'pre70352462138680\', \'post70352462138680\')"> body.respond_to?(:to_ary)\n</li>\n \n <li onclick="toggle(\'pre70352462138680\', \'post70352462138680\')">\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/thin-1.5.0/lib/thin/connection.rb</code>: in <code>block in pre_process</code>\n\n \n <div class="context" id="c70352462159400">\n \n <ol start="74" class="pre-context" id="pre70352462159400">\n \n <li onclick="toggle(\'pre70352462159400\', \'post70352462159400\')">\n</li>\n \n <li onclick="toggle(\'pre70352462159400\', \'post70352462159400\')"> # When we're under a non-async framework like rails, we can still spawn\n</li>\n \n <li onclick="toggle(\'pre70352462159400\', \'post70352462159400\')"> # off async responses using the callback info, so there's little point\n</li>\n \n <li onclick="toggle(\'pre70352462159400\', \'post70352462159400\')"> # in removing this.\n</li>\n \n <li onclick="toggle(\'pre70352462159400\', \'post70352462159400\')"> response = AsyncResponse\n</li>\n \n <li onclick="toggle(\'pre70352462159400\', \'post70352462159400\')"> catch(:async) do\n</li>\n \n <li onclick="toggle(\'pre70352462159400\', \'post70352462159400\')"> # Process the request calling the Rack adapter\n</li>\n \n </ol>\n \n\n <ol start="81" class="context-line">\n <li onclick="toggle(\'pre70352462159400\', \'post70352462159400\')"> response = @app.call(@request.env)<span>...</span></li></ol>\n\n \n <ol start=\'82\' class="post-context" id="post70352462159400">\n \n <li onclick="toggle(\'pre70352462159400\', \'post70352462159400\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462159400\', \'post70352462159400\')"> response\n</li>\n \n <li onclick="toggle(\'pre70352462159400\', \'post70352462159400\')"> rescue Exception\n</li>\n \n <li onclick="toggle(\'pre70352462159400\', \'post70352462159400\')"> handle_error\n</li>\n \n <li onclick="toggle(\'pre70352462159400\', \'post70352462159400\')"> # Pass through error response\n</li>\n \n <li onclick="toggle(\'pre70352462159400\', \'post70352462159400\')"> can_persist? && @request.persistent? ? Response::PERSISTENT_ERROR : Response::ERROR\n</li>\n \n <li onclick="toggle(\'pre70352462159400\', \'post70352462159400\')"> end\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/thin-1.5.0/lib/thin/connection.rb</code>: in <code>catch</code>\n\n \n <div class="context" id="c70352462175320">\n \n <ol start="72" class="pre-context" id="pre70352462175320">\n \n <li onclick="toggle(\'pre70352462175320\', \'post70352462175320\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462175320\', \'post70352462175320\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462175320\', \'post70352462175320\')">\n</li>\n \n <li onclick="toggle(\'pre70352462175320\', \'post70352462175320\')"> # When we're under a non-async framework like rails, we can still spawn\n</li>\n \n <li onclick="toggle(\'pre70352462175320\', \'post70352462175320\')"> # off async responses using the callback info, so there's little point\n</li>\n \n <li onclick="toggle(\'pre70352462175320\', \'post70352462175320\')"> # in removing this.\n</li>\n \n <li onclick="toggle(\'pre70352462175320\', \'post70352462175320\')"> response = AsyncResponse\n</li>\n \n </ol>\n \n\n <ol start="79" class="context-line">\n <li onclick="toggle(\'pre70352462175320\', \'post70352462175320\')"> catch(:async) do<span>...</span></li></ol>\n\n \n <ol start=\'80\' class="post-context" id="post70352462175320">\n \n <li onclick="toggle(\'pre70352462175320\', \'post70352462175320\')"> # Process the request calling the Rack adapter\n</li>\n \n <li onclick="toggle(\'pre70352462175320\', \'post70352462175320\')"> response = @app.call(@request.env)\n</li>\n \n <li onclick="toggle(\'pre70352462175320\', \'post70352462175320\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462175320\', \'post70352462175320\')"> response\n</li>\n \n <li onclick="toggle(\'pre70352462175320\', \'post70352462175320\')"> rescue Exception\n</li>\n \n <li onclick="toggle(\'pre70352462175320\', \'post70352462175320\')"> handle_error\n</li>\n \n <li onclick="toggle(\'pre70352462175320\', \'post70352462175320\')"> # Pass through error response\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/thin-1.5.0/lib/thin/connection.rb</code>: in <code>pre_process</code>\n\n \n <div class="context" id="c70352462191480">\n \n <ol start="72" class="pre-context" id="pre70352462191480">\n \n <li onclick="toggle(\'pre70352462191480\', \'post70352462191480\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462191480\', \'post70352462191480\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462191480\', \'post70352462191480\')">\n</li>\n \n <li onclick="toggle(\'pre70352462191480\', \'post70352462191480\')"> # When we're under a non-async framework like rails, we can still spawn\n</li>\n \n <li onclick="toggle(\'pre70352462191480\', \'post70352462191480\')"> # off async responses using the callback info, so there's little point\n</li>\n \n <li onclick="toggle(\'pre70352462191480\', \'post70352462191480\')"> # in removing this.\n</li>\n \n <li onclick="toggle(\'pre70352462191480\', \'post70352462191480\')"> response = AsyncResponse\n</li>\n \n </ol>\n \n\n <ol start="79" class="context-line">\n <li onclick="toggle(\'pre70352462191480\', \'post70352462191480\')"> catch(:async) do<span>...</span></li></ol>\n\n \n <ol start=\'80\' class="post-context" id="post70352462191480">\n \n <li onclick="toggle(\'pre70352462191480\', \'post70352462191480\')"> # Process the request calling the Rack adapter\n</li>\n \n <li onclick="toggle(\'pre70352462191480\', \'post70352462191480\')"> response = @app.call(@request.env)\n</li>\n \n <li onclick="toggle(\'pre70352462191480\', \'post70352462191480\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462191480\', \'post70352462191480\')"> response\n</li>\n \n <li onclick="toggle(\'pre70352462191480\', \'post70352462191480\')"> rescue Exception\n</li>\n \n <li onclick="toggle(\'pre70352462191480\', \'post70352462191480\')"> handle_error\n</li>\n \n <li onclick="toggle(\'pre70352462191480\', \'post70352462191480\')"> # Pass through error response\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/thin-1.5.0/lib/thin/connection.rb</code>: in <code>process</code>\n\n \n <div class="context" id="c70352462207300">\n \n <ol start="47" class="pre-context" id="pre70352462207300">\n \n <li onclick="toggle(\'pre70352462207300\', \'post70352462207300\')"> # is ready to be processed.\n</li>\n \n <li onclick="toggle(\'pre70352462207300\', \'post70352462207300\')"> def process\n</li>\n \n <li onclick="toggle(\'pre70352462207300\', \'post70352462207300\')"> if threaded?\n</li>\n \n <li onclick="toggle(\'pre70352462207300\', \'post70352462207300\')"> @request.threaded = true\n</li>\n \n <li onclick="toggle(\'pre70352462207300\', \'post70352462207300\')"> EventMachine.defer(method(:pre_process), method(:post_process))\n</li>\n \n <li onclick="toggle(\'pre70352462207300\', \'post70352462207300\')"> else\n</li>\n \n <li onclick="toggle(\'pre70352462207300\', \'post70352462207300\')"> @request.threaded = false\n</li>\n \n </ol>\n \n\n <ol start="54" class="context-line">\n <li onclick="toggle(\'pre70352462207300\', \'post70352462207300\')"> post_process(pre_process)<span>...</span></li></ol>\n\n \n <ol start=\'55\' class="post-context" id="post70352462207300">\n \n <li onclick="toggle(\'pre70352462207300\', \'post70352462207300\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462207300\', \'post70352462207300\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462207300\', \'post70352462207300\')">\n</li>\n \n <li onclick="toggle(\'pre70352462207300\', \'post70352462207300\')"> def pre_process\n</li>\n \n <li onclick="toggle(\'pre70352462207300\', \'post70352462207300\')"> # Add client info to the request env\n</li>\n \n <li onclick="toggle(\'pre70352462207300\', \'post70352462207300\')"> @request.remote_address = remote_address\n</li>\n \n <li onclick="toggle(\'pre70352462207300\', \'post70352462207300\')">\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/thin-1.5.0/lib/thin/connection.rb</code>: in <code>receive_data</code>\n\n \n <div class="context" id="c70352462223200">\n \n <ol start="32" class="pre-context" id="pre70352462223200">\n \n <li onclick="toggle(\'pre70352462223200\', \'post70352462223200\')"> @response = Response.new\n</li>\n \n <li onclick="toggle(\'pre70352462223200\', \'post70352462223200\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462223200\', \'post70352462223200\')">\n</li>\n \n <li onclick="toggle(\'pre70352462223200\', \'post70352462223200\')"> # Called when data is received from the client.\n</li>\n \n <li onclick="toggle(\'pre70352462223200\', \'post70352462223200\')"> def receive_data(data)\n</li>\n \n <li onclick="toggle(\'pre70352462223200\', \'post70352462223200\')"> @idle = false\n</li>\n \n <li onclick="toggle(\'pre70352462223200\', \'post70352462223200\')"> trace { data }\n</li>\n \n </ol>\n \n\n <ol start="39" class="context-line">\n <li onclick="toggle(\'pre70352462223200\', \'post70352462223200\')"> process if @request.parse(data)<span>...</span></li></ol>\n\n \n <ol start=\'40\' class="post-context" id="post70352462223200">\n \n <li onclick="toggle(\'pre70352462223200\', \'post70352462223200\')"> rescue InvalidRequest => e\n</li>\n \n <li onclick="toggle(\'pre70352462223200\', \'post70352462223200\')"> log "!! Invalid request"\n</li>\n \n <li onclick="toggle(\'pre70352462223200\', \'post70352462223200\')"> log_error e\n</li>\n \n <li onclick="toggle(\'pre70352462223200\', \'post70352462223200\')"> post_process Response::BAD_REQUEST\n</li>\n \n <li onclick="toggle(\'pre70352462223200\', \'post70352462223200\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462223200\', \'post70352462223200\')">\n</li>\n \n <li onclick="toggle(\'pre70352462223200\', \'post70352462223200\')"> # Called when all data was received and the request\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/eventmachine-1.0.0/lib/eventmachine.rb</code>: in <code>run_machine</code>\n\n \n <div class="context" id="c70352462239160">\n \n <ol start="180" class="pre-context" id="pre70352462239160">\n \n <li onclick="toggle(\'pre70352462239160\', \'post70352462239160\')"> @reactor_running = true\n</li>\n \n <li onclick="toggle(\'pre70352462239160\', \'post70352462239160\')"> initialize_event_machine\n</li>\n \n <li onclick="toggle(\'pre70352462239160\', \'post70352462239160\')"> (b = blk || block) and add_timer(0, b)\n</li>\n \n <li onclick="toggle(\'pre70352462239160\', \'post70352462239160\')"> if @next_tick_queue && !@next_tick_queue.empty?\n</li>\n \n <li onclick="toggle(\'pre70352462239160\', \'post70352462239160\')"> add_timer(0) { signal_loopbreak }\n</li>\n \n <li onclick="toggle(\'pre70352462239160\', \'post70352462239160\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462239160\', \'post70352462239160\')"> @reactor_thread = Thread.current\n</li>\n \n </ol>\n \n\n <ol start="187" class="context-line">\n <li onclick="toggle(\'pre70352462239160\', \'post70352462239160\')"> run_machine<span>...</span></li></ol>\n\n \n <ol start=\'188\' class="post-context" id="post70352462239160">\n \n <li onclick="toggle(\'pre70352462239160\', \'post70352462239160\')"> ensure\n</li>\n \n <li onclick="toggle(\'pre70352462239160\', \'post70352462239160\')"> until @tails.empty?\n</li>\n \n <li onclick="toggle(\'pre70352462239160\', \'post70352462239160\')"> @tails.pop.call\n</li>\n \n <li onclick="toggle(\'pre70352462239160\', \'post70352462239160\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462239160\', \'post70352462239160\')">\n</li>\n \n <li onclick="toggle(\'pre70352462239160\', \'post70352462239160\')"> begin\n</li>\n \n <li onclick="toggle(\'pre70352462239160\', \'post70352462239160\')"> release_machine\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/eventmachine-1.0.0/lib/eventmachine.rb</code>: in <code>run</code>\n\n \n <div class="context" id="c70352462315700">\n \n <ol start="180" class="pre-context" id="pre70352462315700">\n \n <li onclick="toggle(\'pre70352462315700\', \'post70352462315700\')"> @reactor_running = true\n</li>\n \n <li onclick="toggle(\'pre70352462315700\', \'post70352462315700\')"> initialize_event_machine\n</li>\n \n <li onclick="toggle(\'pre70352462315700\', \'post70352462315700\')"> (b = blk || block) and add_timer(0, b)\n</li>\n \n <li onclick="toggle(\'pre70352462315700\', \'post70352462315700\')"> if @next_tick_queue && !@next_tick_queue.empty?\n</li>\n \n <li onclick="toggle(\'pre70352462315700\', \'post70352462315700\')"> add_timer(0) { signal_loopbreak }\n</li>\n \n <li onclick="toggle(\'pre70352462315700\', \'post70352462315700\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462315700\', \'post70352462315700\')"> @reactor_thread = Thread.current\n</li>\n \n </ol>\n \n\n <ol start="187" class="context-line">\n <li onclick="toggle(\'pre70352462315700\', \'post70352462315700\')"> run_machine<span>...</span></li></ol>\n\n \n <ol start=\'188\' class="post-context" id="post70352462315700">\n \n <li onclick="toggle(\'pre70352462315700\', \'post70352462315700\')"> ensure\n</li>\n \n <li onclick="toggle(\'pre70352462315700\', \'post70352462315700\')"> until @tails.empty?\n</li>\n \n <li onclick="toggle(\'pre70352462315700\', \'post70352462315700\')"> @tails.pop.call\n</li>\n \n <li onclick="toggle(\'pre70352462315700\', \'post70352462315700\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462315700\', \'post70352462315700\')">\n</li>\n \n <li onclick="toggle(\'pre70352462315700\', \'post70352462315700\')"> begin\n</li>\n \n <li onclick="toggle(\'pre70352462315700\', \'post70352462315700\')"> release_machine\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/thin-1.5.0/lib/thin/backends/base.rb</code>: in <code>start</code>\n\n \n <div class="context" id="c70352462418480">\n \n <ol start="56" class="pre-context" id="pre70352462418480">\n \n <li onclick="toggle(\'pre70352462418480\', \'post70352462418480\')"> @running = true\n</li>\n \n <li onclick="toggle(\'pre70352462418480\', \'post70352462418480\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462418480\', \'post70352462418480\')"> \n</li>\n \n <li onclick="toggle(\'pre70352462418480\', \'post70352462418480\')"> # Allow for early run up of eventmachine.\n</li>\n \n <li onclick="toggle(\'pre70352462418480\', \'post70352462418480\')"> if EventMachine.reactor_running?\n</li>\n \n <li onclick="toggle(\'pre70352462418480\', \'post70352462418480\')"> starter.call\n</li>\n \n <li onclick="toggle(\'pre70352462418480\', \'post70352462418480\')"> else\n</li>\n \n </ol>\n \n\n <ol start="63" class="context-line">\n <li onclick="toggle(\'pre70352462418480\', \'post70352462418480\')"> EventMachine.run(&starter)<span>...</span></li></ol>\n\n \n <ol start=\'64\' class="post-context" id="post70352462418480">\n \n <li onclick="toggle(\'pre70352462418480\', \'post70352462418480\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462418480\', \'post70352462418480\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462418480\', \'post70352462418480\')"> \n</li>\n \n <li onclick="toggle(\'pre70352462418480\', \'post70352462418480\')"> # Stop of the backend from accepting new connections.\n</li>\n \n <li onclick="toggle(\'pre70352462418480\', \'post70352462418480\')"> def stop\n</li>\n \n <li onclick="toggle(\'pre70352462418480\', \'post70352462418480\')"> @running = false\n</li>\n \n <li onclick="toggle(\'pre70352462418480\', \'post70352462418480\')"> @stopping = true\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/thin-1.5.0/lib/thin/server.rb</code>: in <code>start</code>\n\n \n <div class="context" id="c70352462436360">\n \n <ol start="152" class="pre-context" id="pre70352462436360">\n \n <li onclick="toggle(\'pre70352462436360\', \'post70352462436360\')"> log ">> Thin web server (v#{VERSION::STRING} codename #{VERSION::CODENAME})"\n</li>\n \n <li onclick="toggle(\'pre70352462436360\', \'post70352462436360\')"> debug ">> Debugging ON"\n</li>\n \n <li onclick="toggle(\'pre70352462436360\', \'post70352462436360\')"> trace ">> Tracing ON"\n</li>\n \n <li onclick="toggle(\'pre70352462436360\', \'post70352462436360\')"> \n</li>\n \n <li onclick="toggle(\'pre70352462436360\', \'post70352462436360\')"> log ">> Maximum connections set to #{@backend.maximum_connections}"\n</li>\n \n <li onclick="toggle(\'pre70352462436360\', \'post70352462436360\')"> log ">> Listening on #{@backend}, CTRL+C to stop"\n</li>\n \n <li onclick="toggle(\'pre70352462436360\', \'post70352462436360\')"> \n</li>\n \n </ol>\n \n\n <ol start="159" class="context-line">\n <li onclick="toggle(\'pre70352462436360\', \'post70352462436360\')"> @backend.start<span>...</span></li></ol>\n\n \n <ol start=\'160\' class="post-context" id="post70352462436360">\n \n <li onclick="toggle(\'pre70352462436360\', \'post70352462436360\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462436360\', \'post70352462436360\')"> alias :start! :start\n</li>\n \n <li onclick="toggle(\'pre70352462436360\', \'post70352462436360\')"> \n</li>\n \n <li onclick="toggle(\'pre70352462436360\', \'post70352462436360\')"> # == Gracefull shutdown\n</li>\n \n <li onclick="toggle(\'pre70352462436360\', \'post70352462436360\')"> # Stops the server after processing all current connections.\n</li>\n \n <li onclick="toggle(\'pre70352462436360\', \'post70352462436360\')"> # As soon as this method is called, the server stops accepting\n</li>\n \n <li onclick="toggle(\'pre70352462436360\', \'post70352462436360\')"> # new requests and wait for all current connections to finish.\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/rack-1.5.2/lib/rack/handler/thin.rb</code>: in <code>run</code>\n\n \n <div class="context" id="c70352462450460">\n \n <ol start="9" class="pre-context" id="pre70352462450460">\n \n <li onclick="toggle(\'pre70352462450460\', \'post70352462450460\')"> host = options.delete(:Host) || '0.0.0.0'\n</li>\n \n <li onclick="toggle(\'pre70352462450460\', \'post70352462450460\')"> port = options.delete(:Port) || 8080\n</li>\n \n <li onclick="toggle(\'pre70352462450460\', \'post70352462450460\')"> args = [host, port, app, options]\n</li>\n \n <li onclick="toggle(\'pre70352462450460\', \'post70352462450460\')"> # Thin versions below 0.8.0 do not support additional options\n</li>\n \n <li onclick="toggle(\'pre70352462450460\', \'post70352462450460\')"> args.pop if ::Thin::VERSION::MAJOR < 1 && ::Thin::VERSION::MINOR < 8\n</li>\n \n <li onclick="toggle(\'pre70352462450460\', \'post70352462450460\')"> server = ::Thin::Server.new(*args)\n</li>\n \n <li onclick="toggle(\'pre70352462450460\', \'post70352462450460\')"> yield server if block_given?\n</li>\n \n </ol>\n \n\n <ol start="16" class="context-line">\n <li onclick="toggle(\'pre70352462450460\', \'post70352462450460\')"> server.start<span>...</span></li></ol>\n\n \n <ol start=\'17\' class="post-context" id="post70352462450460">\n \n <li onclick="toggle(\'pre70352462450460\', \'post70352462450460\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462450460\', \'post70352462450460\')">\n</li>\n \n <li onclick="toggle(\'pre70352462450460\', \'post70352462450460\')"> def self.valid_options\n</li>\n \n <li onclick="toggle(\'pre70352462450460\', \'post70352462450460\')"> {\n</li>\n \n <li onclick="toggle(\'pre70352462450460\', \'post70352462450460\')"> "Host=HOST" => "Hostname to listen on (default: localhost)",\n</li>\n \n <li onclick="toggle(\'pre70352462450460\', \'post70352462450460\')"> "Port=PORT" => "Port to listen on (default: 8080)",\n</li>\n \n <li onclick="toggle(\'pre70352462450460\', \'post70352462450460\')"> }\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/rack-1.5.2/lib/rack/server.rb</code>: in <code>start</code>\n\n \n <div class="context" id="c70352462471120">\n \n <ol start="257" class="pre-context" id="pre70352462471120">\n \n <li onclick="toggle(\'pre70352462471120\', \'post70352462471120\')"> if server.respond_to?(:shutdown)\n</li>\n \n <li onclick="toggle(\'pre70352462471120\', \'post70352462471120\')"> server.shutdown\n</li>\n \n <li onclick="toggle(\'pre70352462471120\', \'post70352462471120\')"> else\n</li>\n \n <li onclick="toggle(\'pre70352462471120\', \'post70352462471120\')"> exit\n</li>\n \n <li onclick="toggle(\'pre70352462471120\', \'post70352462471120\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462471120\', \'post70352462471120\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462471120\', \'post70352462471120\')">\n</li>\n \n </ol>\n \n\n <ol start="264" class="context-line">\n <li onclick="toggle(\'pre70352462471120\', \'post70352462471120\')"> server.run wrapped_app, options, &blk<span>...</span></li></ol>\n\n \n <ol start=\'265\' class="post-context" id="post70352462471120">\n \n <li onclick="toggle(\'pre70352462471120\', \'post70352462471120\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462471120\', \'post70352462471120\')">\n</li>\n \n <li onclick="toggle(\'pre70352462471120\', \'post70352462471120\')"> def server\n</li>\n \n <li onclick="toggle(\'pre70352462471120\', \'post70352462471120\')"> @_server ||= Rack::Handler.get(options[:server]) || Rack::Handler.default(options)\n</li>\n \n <li onclick="toggle(\'pre70352462471120\', \'post70352462471120\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462471120\', \'post70352462471120\')">\n</li>\n \n <li onclick="toggle(\'pre70352462471120\', \'post70352462471120\')"> private\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/rack-1.5.2/lib/rack/server.rb</code>: in <code>start</code>\n\n \n <div class="context" id="c70352462481380">\n \n <ol start="134" class="pre-context" id="pre70352462481380">\n \n <li onclick="toggle(\'pre70352462481380\', \'post70352462481380\')"> # [200, {'Content-Type' => 'text/html'}, ['hello world']]\n</li>\n \n <li onclick="toggle(\'pre70352462481380\', \'post70352462481380\')"> # end,\n</li>\n \n <li onclick="toggle(\'pre70352462481380\', \'post70352462481380\')"> # :server => 'cgi'\n</li>\n \n <li onclick="toggle(\'pre70352462481380\', \'post70352462481380\')"> # )\n</li>\n \n <li onclick="toggle(\'pre70352462481380\', \'post70352462481380\')"> #\n</li>\n \n <li onclick="toggle(\'pre70352462481380\', \'post70352462481380\')"> # Further options available here are documented on Rack::Server#initialize\n</li>\n \n <li onclick="toggle(\'pre70352462481380\', \'post70352462481380\')"> def self.start(options = nil)\n</li>\n \n </ol>\n \n\n <ol start="141" class="context-line">\n <li onclick="toggle(\'pre70352462481380\', \'post70352462481380\')"> new(options).start<span>...</span></li></ol>\n\n \n <ol start=\'142\' class="post-context" id="post70352462481380">\n \n <li onclick="toggle(\'pre70352462481380\', \'post70352462481380\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462481380\', \'post70352462481380\')">\n</li>\n \n <li onclick="toggle(\'pre70352462481380\', \'post70352462481380\')"> attr_writer :options\n</li>\n \n <li onclick="toggle(\'pre70352462481380\', \'post70352462481380\')">\n</li>\n \n <li onclick="toggle(\'pre70352462481380\', \'post70352462481380\')"> # Options may include:\n</li>\n \n <li onclick="toggle(\'pre70352462481380\', \'post70352462481380\')"> # * :app\n</li>\n \n <li onclick="toggle(\'pre70352462481380\', \'post70352462481380\')"> # a rack application to run (overrides :config)\n</li>\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/rack-1.5.2/bin/rackup</code>: in <code><top (required)></code>\n\n \n <div class="context" id="c70352462517140">\n \n <ol start="1" class="pre-context" id="pre70352462517140">\n \n <li onclick="toggle(\'pre70352462517140\', \'post70352462517140\')">#!/usr/bin/env ruby\n</li>\n \n <li onclick="toggle(\'pre70352462517140\', \'post70352462517140\')">\n</li>\n \n <li onclick="toggle(\'pre70352462517140\', \'post70352462517140\')">require "rack"\n</li>\n \n </ol>\n \n\n <ol start="4" class="context-line">\n <li onclick="toggle(\'pre70352462517140\', \'post70352462517140\')">Rack::Server.start<span>...</span></li></ol>\n\n \n <ol start=\'5\' class="post-context" id="post70352462517140">\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/bin/rackup</code>: in <code>load</code>\n\n \n <div class="context" id="c70352462514200">\n \n <ol start="16" class="pre-context" id="pre70352462514200">\n \n <li onclick="toggle(\'pre70352462514200\', \'post70352462514200\')"> if str =~ /\\A_(.*)_\\z/\n</li>\n \n <li onclick="toggle(\'pre70352462514200\', \'post70352462514200\')"> version = $1\n</li>\n \n <li onclick="toggle(\'pre70352462514200\', \'post70352462514200\')"> ARGV.shift\n</li>\n \n <li onclick="toggle(\'pre70352462514200\', \'post70352462514200\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462514200\', \'post70352462514200\')">end\n</li>\n \n <li onclick="toggle(\'pre70352462514200\', \'post70352462514200\')">\n</li>\n \n <li onclick="toggle(\'pre70352462514200\', \'post70352462514200\')">gem 'rack', version\n</li>\n \n </ol>\n \n\n <ol start="23" class="context-line">\n <li onclick="toggle(\'pre70352462514200\', \'post70352462514200\')">load Gem.bin_path('rack', 'rackup', version)<span>...</span></li></ol>\n\n \n <ol start=\'24\' class="post-context" id="post70352462514200">\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/bin/rackup</code>: in <code><main></code>\n\n \n <div class="context" id="c70352462535160">\n \n <ol start="16" class="pre-context" id="pre70352462535160">\n \n <li onclick="toggle(\'pre70352462535160\', \'post70352462535160\')"> if str =~ /\\A_(.*)_\\z/\n</li>\n \n <li onclick="toggle(\'pre70352462535160\', \'post70352462535160\')"> version = $1\n</li>\n \n <li onclick="toggle(\'pre70352462535160\', \'post70352462535160\')"> ARGV.shift\n</li>\n \n <li onclick="toggle(\'pre70352462535160\', \'post70352462535160\')"> end\n</li>\n \n <li onclick="toggle(\'pre70352462535160\', \'post70352462535160\')">end\n</li>\n \n <li onclick="toggle(\'pre70352462535160\', \'post70352462535160\')">\n</li>\n \n <li onclick="toggle(\'pre70352462535160\', \'post70352462535160\')">gem 'rack', version\n</li>\n \n </ol>\n \n\n <ol start="23" class="context-line">\n <li onclick="toggle(\'pre70352462535160\', \'post70352462535160\')">load Gem.bin_path('rack', 'rackup', version)<span>...</span></li></ol>\n\n \n <ol start=\'24\' class="post-context" id="post70352462535160">\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/bin/ruby_noexec_wrapper</code>: in <code>eval</code>\n\n \n <div class="context" id="c70352462531460">\n \n <ol start="7" class="pre-context" id="pre70352462531460">\n \n <li onclick="toggle(\'pre70352462531460\', \'post70352462531460\')">require 'rubygems'\n</li>\n \n <li onclick="toggle(\'pre70352462531460\', \'post70352462531460\')">begin\n</li>\n \n <li onclick="toggle(\'pre70352462531460\', \'post70352462531460\')"> require 'rubygems-bundler/noexec'\n</li>\n \n <li onclick="toggle(\'pre70352462531460\', \'post70352462531460\')">rescue LoadError\n</li>\n \n <li onclick="toggle(\'pre70352462531460\', \'post70352462531460\')"> warn "unable to load rubygems-bundler/noexec" if ENV.key?('NOEXEC_DEBUG')\n</li>\n \n <li onclick="toggle(\'pre70352462531460\', \'post70352462531460\')">end\n</li>\n \n <li onclick="toggle(\'pre70352462531460\', \'post70352462531460\')">\n</li>\n \n </ol>\n \n\n <ol start="14" class="context-line">\n <li onclick="toggle(\'pre70352462531460\', \'post70352462531460\')">eval File.read(original_file), binding, original_file<span>...</span></li></ol>\n\n \n <ol start=\'15\' class="post-context" id="post70352462531460">\n \n </ol>\n \n </div>\n \n </li>\n\n <li class="frame">\n <code>/Users/scott/.rvm/gems/ruby-2.0.0-p195/bin/ruby_noexec_wrapper</code>: in <code><main></code>\n\n \n <div class="context" id="c70352462552780">\n \n <ol start="7" class="pre-context" id="pre70352462552780">\n \n <li onclick="toggle(\'pre70352462552780\', \'post70352462552780\')">require 'rubygems'\n</li>\n \n <li onclick="toggle(\'pre70352462552780\', \'post70352462552780\')">begin\n</li>\n \n <li onclick="toggle(\'pre70352462552780\', \'post70352462552780\')"> require 'rubygems-bundler/noexec'\n</li>\n \n <li onclick="toggle(\'pre70352462552780\', \'post70352462552780\')">rescue LoadError\n</li>\n \n <li onclick="toggle(\'pre70352462552780\', \'post70352462552780\')"> warn "unable to load rubygems-bundler/noexec" if ENV.key?('NOEXEC_DEBUG')\n</li>\n \n <li onclick="toggle(\'pre70352462552780\', \'post70352462552780\')">end\n</li>\n \n <li onclick="toggle(\'pre70352462552780\', \'post70352462552780\')">\n</li>\n \n </ol>\n \n\n <ol start="14" class="context-line">\n <li onclick="toggle(\'pre70352462552780\', \'post70352462552780\')">eval File.read(original_file), binding, original_file<span>...</span></li></ol>\n\n \n <ol start=\'15\' class="post-context" id="post70352462552780">\n \n </ol>\n \n </div>\n \n </li>\n\n </ul>\n</div>\n\n<div id="requestinfo">\n <h2>Request information</h2>\n\n <h3 id="get-info">GET</h3>\n \n <p>No GET data.</p>\n \n\n <h3 id="post-info">POST</h3>\n \n <p>No POST data.</p>\n \n\n\n <h3 id="cookie-info">COOKIES</h3>\n \n <p>No cookie data.</p>\n \n\n <h3 id="env-info">Rack ENV</h3>\n <table class="req">\n <thead>\n <tr>\n <th>Variable</th>\n <th>Value</th>\n </tr>\n </thead>\n <tbody>\n \n <tr>\n <td>CONTENT_LENGTH</td>\n <td class="code"><div>0</div></td>\n </tr>\n \n <tr>\n <td>CONTENT_TYPE</td>\n <td class="code"><div>application/x-www-form-urlencoded; charset=utf-8</div></td>\n </tr>\n \n <tr>\n <td>GATEWAY_INTERFACE</td>\n <td class="code"><div>CGI/1.2</div></td>\n </tr>\n \n <tr>\n <td>HTTP_AUTHORIZATION</td>\n <td class="code"><div>Bearer 9XlWtQwoijzujJFWnHdeZKJ_vriy4YJXNH0KpLZ_</div></td>\n </tr>\n \n <tr>\n <td>HTTP_CONNECTION</td>\n <td class="code"><div>keep-alive</div></td>\n </tr>\n \n <tr>\n <td>HTTP_HOST</td>\n <td class="code"><div>api.dev.divshot.com:9393</div></td>\n </tr>\n \n <tr>\n <td>HTTP_ORIGIN</td>\n <td class="code"><div>nil</div></td>\n </tr>\n \n <tr>\n <td>HTTP_VERSION</td>\n <td class="code"><div>HTTP/1.1</div></td>\n </tr>\n \n <tr>\n <td>PATH_INFO</td>\n <td class="code"><div>/apps/hostingdocs/builds</div></td>\n </tr>\n \n <tr>\n <td>QUERY_STRING</td>\n <td class="code"><div></div></td>\n </tr>\n \n <tr>\n <td>REMOTE_ADDR</td>\n <td class="code"><div>127.0.0.1</div></td>\n </tr>\n \n <tr>\n <td>REQUEST_METHOD</td>\n <td class="code"><div>POST</div></td>\n </tr>\n \n <tr>\n <td>REQUEST_PATH</td>\n <td class="code"><div>/apps/hostingdocs/builds</div></td>\n </tr>\n \n <tr>\n <td>REQUEST_URI</td>\n <td class="code"><div>/apps/hostingdocs/builds</div></td>\n </tr>\n \n <tr>\n <td>SCRIPT_NAME</td>\n <td class="code"><div></div></td>\n </tr>\n \n <tr>\n <td>SERVER_NAME</td>\n <td class="code"><div>api.dev.divshot.com</div></td>\n </tr>\n \n <tr>\n <td>SERVER_PORT</td>\n <td class="code"><div>9393</div></td>\n </tr>\n \n <tr>\n <td>SERVER_PROTOCOL</td>\n <td class="code"><div>HTTP/1.1</div></td>\n </tr>\n \n <tr>\n <td>SERVER_SOFTWARE</td>\n <td class="code"><div>thin 1.5.0 codename Knife</div></td>\n </tr>\n \n <tr>\n <td>api.endpoint</td>\n <td class="code"><div>#<Grape::Endpoint:0x007ff869310e48 @settings=#<Grape::Util::HashStack:0x007ff862ddedb8 @stack=[{:declared_params=>[], :validations=>[], :default_format=>:json, :content_types=>{:json=>"application/json", :html=>"text/html", :txt=>"text/plain"}, :formatters=>{:html=>#<Proc:0x007ff865b0c3d0@/Users/scott/www/divshot/api/app/app.rb:19 (lambda)>, :txt=>#<Proc:0x007ff865b0c380@/Users/scott/www/divshot/api/app/app.rb:20 (lambda)>}, :default_error_formatter=>Grape::ErrorFormatter::Json, :rescue_handlers=>{MongoMapper::DocumentNotFound=>#<Proc:0x007ff865bc7180@/Users/scott/www/divshot/api/app/app.rb:32>}, :rescue_options=>{}, :rescued_errors=>[MongoMapper::DocumentNotFound]}, {:middleware=>[[Grape::Middleware::Auth::OAuth2]], :default_format=>:json, :rescue_handlers=>{MongoMapper::DocumentNotValid=>#<Proc:0x007ff865c31cb0@/Users/scott/www/divshot/api/app/app.rb:42>}, :rescue_options=>{}, :rescued_errors=>[MongoMapper::DocumentNotValid], :helpers=>#<Module:0x007ff865c31c10>, :befores=>[#<Proc:0x007ff865c31bc0@/Users/scott/www/divshot/api/app/app.rb:60>]}, {:befores=>[#<Proc:0x007ff865d517a8@/Users/scott/www/divshot/api/app/app.rb:73>], :mount_path=>"/"}, {:declared_params=>[], :validations=>[], :helpers=>#<Module:0x007ff862dbee28>, :failure_modes=>{:authenticaton_required=>{:status=>401, :message=>"Authentication is required before making requsets to the API"}, :cannot_access_builds_for_app=>{:message=>"Not authorized to create builds for this app.", :status=>403, :description=>"You do not have permission to access builds for this app. Please contact the owner of this app.\\n"}, :no_such_build=>{:message=>"No build found by that ref for this app.", :status=>404, :description=>"Could not find the build referenced in the url. Please check your records and try again.\\n"}, :invalid_data=>{:status=>422, :message=>"Data did not pass validaitons.", :description=>"Refer to the errors hash and try again.\\n"}, :no_build_for_host=>{:status=>404, :message=>"Could not find a build for the hostname provided.", :description=>"Check that the host provided is served by divshot.io and \\nthat there are releases for the specified environment.\\n"}}}, {:namespace=>#<Grape::Namespace:0x007ff862dcd220 @space="apps", @options={}>}, {:namespace=>#<Grape::Namespace:0x007ff862dccbe0 @space=":app_id", @options={}>, :helpers=>#<Module:0x007ff862dcc820>}, {:namespace=>#<Grape::Namespace:0x007ff862dcc140 @space="builds", @options={}>, :declared_params=>[:message], :validations=>[#<Grape::Validations::CoerceValidator:0x007ff862ddf308 @option=String, @attrs=[:message], @required=false, @scope=#<Grape::Validations::ParamsScope:0x007ff862dd4138 @element=nil, @parent=nil, @api=Divshot::API::Hosting::Builds, @optional=false, @declared_params=[:message]>>]}]>, @options={:method=>["POST"], :path=>["/"], :route_options=>{:description=>{:returns=>["Build"], :return_type=>"instance", :failure_modes=>[:cannot_access_builds_for_app, :invalid_data], :text=>""}, :params=>{"message"=>{:required=>false, :type=>"String", :desc=>"A custom message describing this build."}}}}, @source=#<Proc:0x007ff862ddf060@/Users/scott/www/divshot/api/app/apis/hosting/builds.rb:88>, @block=#<Proc:0x007ff862dddd50@/Users/scott/.rvm/gems/ruby-2.0.0-p195/gems/grape-0.6.0/lib/grape/endpoint.rb:31>, @namespace="/apps/:app_id/builds", @routes=[#<Grape::Route:0x007ff862c4e278 @options={:description=>{:returns=>["Build"], :return_type=>"instance", :failure_modes=>[:cannot_access_builds_for_app, :invalid_data], :text=>""}, :params=>{"app_id"=>"", "message"=>{:required=>false, :type=>"String", :desc=>"A custom message describing this build."}}, :prefix=>nil, :version=>nil, :namespace=>"/apps/:app_id/builds", :method=>"POST", :path=>"/apps/:app_id/builds(.:format)", :compiled=>/\\A\\/apps\\/(?<app_id>[^\\/.?]+)\\/builds(?:\\.(?<format>[^\\/.?]+))?\\Z/}>], @env={"SERVER_SOFTWARE"=>"thin 1.5.0 codename Knife", "SERVER_NAME"=>"api.dev.divshot.com", "rack.input"=>#<Rack::Lint::InputWrapper:0x007ff8692f8cd0 @input=#<StringIO:0x007ff8692e81c8>>, "rack.version"=>[1, 0], "rack.errors"=>#<Rack::Lint::ErrorWrapper:0x007ff8692f8c30 @error=#<IO:<STDERR>>>, "rack.multithread"=>false, "rack.multiprocess"=>false, "rack.run_once"=>false, "REQUEST_METHOD"=>"POST", "REQUEST_PATH"=>"/apps/hostingdocs/builds", "PATH_INFO"=>"/apps/hostingdocs/builds", "REQUEST_URI"=>"/apps/hostingdocs/builds", "HTTP_VERSION"=>"HTTP/1.1", "HTTP_AUTHORIZATION"=>"Bearer 9XlWtQwoijzujJFWnHdeZKJ_vriy4YJXNH0KpLZ_", "HTTP_HOST"=>"api.dev.divshot.com:9393", "HTTP_CONNECTION"=>"keep-alive", "CONTENT_LENGTH"=>"0", "CONTENT_TYPE"=>"application/x-www-form-urlencoded; charset=utf-8", "GATEWAY_INTERFACE"=>"CGI/1.2", "SERVER_PORT"=>"9393", "QUERY_STRING"=>"", "SERVER_PROTOCOL"=>"HTTP/1.1", "rack.url_scheme"=>"http", "SCRIPT_NAME"=>"", "REMOTE_ADDR"=>"127.0.0.1", "async.callback"=>#<Method: Thin::Connection#post_process>, "async.close"=>#<EventMachine::DefaultDeferrable:0x007ff8692f3898>, "sinatra.commonlogger"=>true, "rack.session"=>#<Rack::Session::Abstract::SessionHash:0x3ffc3497c58c not yet loaded>, "rack.session.options"=>{:path=>"/", :domain=>nil, :expire_after=>nil, :secure=>false, :httponly=>true, :defer=>false, :renew=>false, :sidbits=>128, :secure_random=>SecureRandom, :secret=>"deb1d665093c426f716d0ac61b691eacd8fbe3da", :coder=>#<Rack::Session::Cookie::Base64::Marshal:0x007ff865cb30d0>}, "HTTP_ORIGIN"=>nil, "rack.routing_args"=>{:route_info=>#<Grape::Route:0x007ff862c4e278 @options={:description=>{:returns=>["Build"], :return_type=>"instance", :failure_modes=>[:cannot_access_builds_for_app, :invalid_data], :text=>""}, :params=>{"app_id"=>"", "message"=>{:required=>false, :type=>"String", :desc=>"A custom message describing this build."}}, :prefix=>nil, :version=>nil, :namespace=>"/apps/:app_id/builds", :method=>"POST", :path=>"/apps/:app_id/builds(.:format)", :compiled=>/\\A\\/apps\\/(?<app_id>[^\\/.?]+)\\/builds(?:\\.(?<format>[^\\/.?]+))?\\Z/}>, :app_id=>"hostingdocs"}, "api.endpoint"=>#<Grape::Endpoint:0x007ff869310e48 ...>, "rack.request.query_string"=>"", "rack.request.query_hash"=>{}, "rack.request.form_input"=>#<Rack::Lint::InputWrapper:0x007ff8692f8cd0 @input=#<StringIO:0x007ff8692e81c8>>, "rack.request.form_hash"=>{}, "rack.request.form_vars"=>"", "grape.request.params"=>#<Hashie::Mash app_id="hostingdocs" route_info=#<Grape::Route:0x007ff862c4e278 @options={:description=>{:returns=>["Build"], :return_type=>"instance", :failure_modes=>[:cannot_access_builds_for_app, :invalid_data], :text=>""}, :params=>{"app_id"=>"", "message"=>{:required=>false, :type=>"String", :desc=>"A custom message describing this build."}}, :prefix=>nil, :version=>nil, :namespace=>"/apps/:app_id/builds", :method=>"POST", :path=>"/apps/:app_id/builds(.:format)", :compiled=>/\\A\\/apps\\/(?<app_id>[^\\/.?]+)\\/builds(?:\\.(?<format>[^\\/.?]+))?\\Z/}>>, "api.token"=>#<AccessToken _id: BSON::ObjectId('52558240421aa908c300000a'), client_application_id: BSON::ObjectId('525578a3421aa98155000004'), created_at: 2013-10-09 16:20:16 UTC, disabled: false, owner_id: BSON::ObjectId('52310e83421aa9380a0027ea'), owner_type: "User", token: "9XlWtQwoijzujJFWnHdeZKJ_vriy4YJXNH0KpLZ_", updated_at: 2013-10-09 16:20:16 UTC>, "api.format"=>:json, "rack.request.cookie_hash"=>{}}, @header={}, @request=#<Grape::Request:0x007ff8693309a0 @env={"SERVER_SOFTWARE"=>"thin 1.5.0 codename Knife", "SERVER_NAME"=>"api.dev.divshot.com", "rack.input"=>#<Rack::Lint::InputWrapper:0x007ff8692f8cd0 @input=#<StringIO:0x007ff8692e81c8>>, "rack.version"=>[1, 0], "rack.errors"=>#<Rack::Lint::ErrorWrapper:0x007ff8692f8c30 @error=#<IO:<STDERR>>>, "rack.multithread"=>false, "rack.multiprocess"=>false, "rack.run_once"=>false, "REQUEST_METHOD"=>"POST", "REQUEST_PATH"=>"/apps/hostingdocs/builds", "PATH_INFO"=>"/apps/hostingdocs/builds", "REQUEST_URI"=>"/apps/hostingdocs/builds", "HTTP_VERSION"=>"HTTP/1.1", "HTTP_AUTHORIZATION"=>"Bearer 9XlWtQwoijzujJFWnHdeZKJ_vriy4YJXNH0KpLZ_", "HTTP_HOST"=>"api.dev.divshot.com:9393", "HTTP_CONNECTION"=>"keep-alive", "CONTENT_LENGTH"=>"0", "CONTENT_TYPE"=>"application/x-www-form-urlencoded; charset=utf-8", "GATEWAY_INTERFACE"=>"CGI/1.2", "SERVER_PORT"=>"9393", "QUERY_STRING"=>"", "SERVER_PROTOCOL"=>"HTTP/1.1", "rack.url_scheme"=>"http", "SCRIPT_NAME"=>"", "REMOTE_ADDR"=>"127.0.0.1", "async.callback"=>#<Method: Thin::Connection#post_process>, "async.close"=>#<EventMachine::DefaultDeferrable:0x007ff8692f3898>, "sinatra.commonlogger"=>true, "rack.session"=>#<Rack::Session::Abstract::SessionHash:0x3ffc3497c58c not yet loaded>, "rack.session.options"=>{:path=>"/", :domain=>nil, :expire_after=>nil, :secure=>false, :httponly=>true, :defer=>false, :renew=>false, :sidbits=>128, :secure_random=>SecureRandom, :secret=>"deb1d665093c426f716d0ac61b691eacd8fbe3da", :coder=>#<Rack::Session::Cookie::Base64::Marshal:0x007ff865cb30d0>}, "HTTP_ORIGIN"=>nil, "rack.routing_args"=>{:route_info=>#<Grape::Route:0x007ff862c4e278 @options={:description=>{:returns=>["Build"], :return_type=>"instance", :failure_modes=>[:cannot_access_builds_for_app, :invalid_data], :text=>""}, :params=>{"app_id"=>"", "message"=>{:required=>false, :type=>"String", :desc=>"A custom message describing this build."}}, :prefix=>nil, :version=>nil, :namespace=>"/apps/:app_id/builds", :method=>"POST", :path=>"/apps/:app_id/builds(.:format)", :compiled=>/\\A\\/apps\\/(?<app_id>[^\\/.?]+)\\/builds(?:\\.(?<format>[^\\/.?]+))?\\Z/}>, :app_id=>"hostingdocs"}, "api.endpoint"=>#<Grape::Endpoint:0x007ff869310e48 ...>, "rack.request.query_string"=>"", "rack.request.query_hash"=>{}, "rack.request.form_input"=>#<Rack::Lint::InputWrapper:0x007ff8692f8cd0 @input=#<StringIO:0x007ff8692e81c8>>, "rack.request.form_hash"=>{}, "rack.request.form_vars"=>"", "grape.request.params"=>#<Hashie::Mash app_id="hostingdocs" route_info=#<Grape::Route:0x007ff862c4e278 @options={:description=>{:returns=>["Build"], :return_type=>"instance", :failure_modes=>[:cannot_access_builds_for_app, :invalid_data], :text=>""}, :params=>{"app_id"=>"", "message"=>{:required=>false, :type=>"String", :desc=>"A custom message describing this build."}}, :prefix=>nil, :version=>nil, :namespace=>"/apps/:app_id/builds", :method=>"POST", :path=>"/apps/:app_id/builds(.:format)", :compiled=>/\\A\\/apps\\/(?<app_id>[^\\/.?]+)\\/builds(?:\\.(?<format>[^\\/.?]+))?\\Z/}>>, "api.token"=>#<AccessToken _id: BSON::ObjectId('52558240421aa908c300000a'), client_application_id: BSON::ObjectId('525578a3421aa98155000004'), created_at: 2013-10-09 16:20:16 UTC, disabled: false, owner_id: BSON::ObjectId('52310e83421aa9380a0027ea'), owner_type: "User", token: "9XlWtQwoijzujJFWnHdeZKJ_vriy4YJXNH0KpLZ_", updated_at: 2013-10-09 16:20:16 UTC>, "api.format"=>:json, "rack.request.cookie_hash"=>{}}, @params={}>, @cookies=#<Grape::Cookies:0x007ff869330748 @cookies={}, @send_cookies={}>, @params=#<Hashie::Mash app_id="hostingdocs" route_info=#<Grape::Route:0x007ff862c4e278 @options={:description=>{:returns=>["Build"], :return_type=>"instance", :failure_modes=>[:cannot_access_builds_for_app, :invalid_data], :text=>""}, :params=>{"app_id"=>"", "message"=>{:required=>false, :type=>"String", :desc=>"A custom message describing this build."}}, :prefix=>nil, :version=>nil, :namespace=>"/apps/:app_id/builds", :method=>"POST", :path=>"/apps/:app_id/builds(.:format)", :compiled=>/\\A\\/apps\\/(?<app_id>[^\\/.?]+)\\/builds(?:\\.(?<format>[^\\/.?]+))?\\Z/}>>, @body=#<Build::Entity:0x007ff8693904e0 @object=#<Build _id: BSON::ObjectId('5261c761421aa9030a00005d'), application_id: BSON::ObjectId('5261c681421aa9030a000012'), application_type: "HostedApplication", created_at: 2013-10-18 23:42:25 UTC, files: [], final: false, updated_at: 2013-10-18 23:42:25 UTC>, @options={:env=>{"SERVER_SOFTWARE"=>"thin 1.5.0 codename Knife", "SERVER_NAME"=>"api.dev.divshot.com", "rack.input"=>#<Rack::Lint::InputWrapper:0x007ff8692f8cd0 @input=#<StringIO:0x007ff8692e81c8>>, "rack.version"=>[1, 0], "rack.errors"=>#<Rack::Lint::ErrorWrapper:0x007ff8692f8c30 @error=#<IO:<STDERR>>>, "rack.multithread"=>false, "rack.multiprocess"=>false, "rack.run_once"=>false, "REQUEST_METHOD"=>"POST", "REQUEST_PATH"=>"/apps/hostingdocs/builds", "PATH_INFO"=>"/apps/hostingdocs/builds", "REQUEST_URI"=>"/apps/hostingdocs/builds", "HTTP_VERSION"=>"HTTP/1.1", "HTTP_AUTHORIZATION"=>"Bearer 9XlWtQwoijzujJFWnHdeZKJ_vriy4YJXNH0KpLZ_", "HTTP_HOST"=>"api.dev.divshot.com:9393", "HTTP_CONNECTION"=>"keep-alive", "CONTENT_LENGTH"=>"0", "CONTENT_TYPE"=>"application/x-www-form-urlencoded; charset=utf-8", "GATEWAY_INTERFACE"=>"CGI/1.2", "SERVER_PORT"=>"9393", "QUERY_STRING"=>"", "SERVER_PROTOCOL"=>"HTTP/1.1", "rack.url_scheme"=>"http", "SCRIPT_NAME"=>"", "REMOTE_ADDR"=>"127.0.0.1", "async.callback"=>#<Method: Thin::Connection#post_process>, "async.close"=>#<EventMachine::DefaultDeferrable:0x007ff8692f3898>, "sinatra.commonlogger"=>true, "rack.session"=>#<Rack::Session::Abstract::SessionHash:0x3ffc3497c58c not yet loaded>, "rack.session.options"=>{:path=>"/", :domain=>nil, :expire_after=>nil, :secure=>false, :httponly=>true, :defer=>false, :renew=>false, :sidbits=>128, :secure_random=>SecureRandom, :secret=>"deb1d665093c426f716d0ac61b691eacd8fbe3da", :coder=>#<Rack::Session::Cookie::Base64::Marshal:0x007ff865cb30d0>}, "HTTP_ORIGIN"=>nil, "rack.routing_args"=>{:route_info=>#<Grape::Route:0x007ff862c4e278 @options={:description=>{:returns=>["Build"], :return_type=>"instance", :failure_modes=>[:cannot_access_builds_for_app, :invalid_data], :text=>""}, :params=>{"app_id"=>"", "message"=>{:required=>false, :type=>"String", :desc=>"A custom message describing this build."}}, :prefix=>nil, :version=>nil, :namespace=>"/apps/:app_id/builds", :method=>"POST", :path=>"/apps/:app_id/builds(.:format)", :compiled=>/\\A\\/apps\\/(?<app_id>[^\\/.?]+)\\/builds(?:\\.(?<format>[^\\/.?]+))?\\Z/}>, :app_id=>"hostingdocs"}, "api.endpoint"=>#<Grape::Endpoint:0x007ff869310e48 ...>, "rack.request.query_string"=>"", "rack.request.query_hash"=>{}, "rack.request.form_input"=>#<Rack::Lint::InputWrapper:0x007ff8692f8cd0 @input=#<StringIO:0x007ff8692e81c8>>, "rack.request.form_hash"=>{}, "rack.request.form_vars"=>"", "grape.request.params"=>#<Hashie::Mash app_id="hostingdocs" route_info=#<Grape::Route:0x007ff862c4e278 @options={:description=>{:returns=>["Build"], :return_type=>"instance", :failure_modes=>[:cannot_access_builds_for_app, :invalid_data], :text=>""}, :params=>{"app_id"=>"", "message"=>{:required=>false, :type=>"String", :desc=>"A custom message describing this build."}}, :prefix=>nil, :version=>nil, :namespace=>"/apps/:app_id/builds", :method=>"POST", :path=>"/apps/:app_id/builds(.:format)", :compiled=>/\\A\\/apps\\/(?<app_id>[^\\/.?]+)\\/builds(?:\\.(?<format>[^\\/.?]+))?\\Z/}>>, "api.token"=>#<AccessToken _id: BSON::ObjectId('52558240421aa908c300000a'), client_application_id: BSON::ObjectId('525578a3421aa98155000004'), created_at: 2013-10-09 16:20:16 UTC, disabled: false, owner_id: BSON::ObjectId('52310e83421aa9380a0027ea'), owner_type: "User", token: "9XlWtQwoijzujJFWnHdeZKJ_vriy4YJXNH0KpLZ_", updated_at: 2013-10-09 16:20:16 UTC>, "api.format"=>:json, "rack.request.cookie_hash"=>{}}}>, @app=#<HostedApplication _id: BSON::ObjectId('5261c681421aa9030a000012'), created_at: 2013-10-18 23:38:41 UTC, environments: [#<Environment _id: BSON::ObjectId('5261a8ac421aa9030a000001'), name: "development", release_id: nil>, #<Environment _id: BSON::ObjectId('5261a8ac421aa9030a000002'), name: "staging", release_id: nil>, #<Environment _id: BSON::ObjectId('5261a8ac421aa9030a000003'), name: "production", release_id: nil>], name: "hostingdocs", owner_id: BSON::ObjectId('52310e83421aa9380a0027ea'), owner_type: "User", updated_at: 2013-10-18 23:38:41 UTC>></div></td>\n </tr>\n \n <tr>\n <td>api.format</td>\n <td class="code"><div>:json</div></td>\n </tr>\n \n <tr>\n <td>api.token</td>\n <td class="code"><div>#<AccessToken _id: BSON::ObjectId('52558240421aa908c300000a'), client_application_id: BSON::ObjectId('525578a3421aa98155000004'), created_at: 2013-10-09 16:20:16 UTC, disabled: false, owner_id: BSON::ObjectId('52310e83421aa9380a0027ea'), owner_type: "User", token: "9XlWtQwoijzujJFWnHdeZKJ_vriy4YJXNH0KpLZ_", updated_at: 2013-10-09 16:20:16 UTC></div></td>\n </tr>\n \n <tr>\n <td>async.callback</td>\n <td class="code"><div>#<Method: Thin::Connection#post_process></div></td>\n </tr>\n \n <tr>\n <td>async.close</td>\n <td class="code"><div>#<EventMachine::DefaultDeferrable:0x007ff8692f3898></div></td>\n </tr>\n \n <tr>\n <td>grape.request.params</td>\n <td class="code"><div>#<Hashie::Mash app_id="hostingdocs" route_info=#<Grape::Route:0x007ff862c4e278 @options={:description=>{:returns=>["Build"], :return_type=>"instance", :failure_modes=>[:cannot_access_builds_for_app, :invalid_data], :text=>""}, :params=>{"app_id"=>"", "message"=>{:required=>false, :type=>"String", :desc=>"A custom message describing this build."}}, :prefix=>nil, :version=>nil, :namespace=>"/apps/:app_id/builds", :method=>"POST", :path=>"/apps/:app_id/builds(.:format)", :compiled=>/\\A\\/apps\\/(?<app_id>[^\\/.?]+)\\/builds(?:\\.(?<format>[^\\/.?]+))?\\Z/}>></div></td>\n </tr>\n \n <tr>\n <td>rack.errors</td>\n <td class="code"><div>#<Rack::Lint::ErrorWrapper:0x007ff8692f8c30 @error=#<IO:<STDERR>>></div></td>\n </tr>\n \n <tr>\n <td>rack.input</td>\n <td class="code"><div>#<Rack::Lint::InputWrapper:0x007ff8692f8cd0 @input=#<StringIO:0x007ff8692e81c8>></div></td>\n </tr>\n \n <tr>\n <td>rack.multiprocess</td>\n <td class="code"><div>false</div></td>\n </tr>\n \n <tr>\n <td>rack.multithread</td>\n <td class="code"><div>false</div></td>\n </tr>\n \n <tr>\n <td>rack.request.cookie_hash</td>\n <td class="code"><div>{}</div></td>\n </tr>\n \n <tr>\n <td>rack.request.form_hash</td>\n <td class="code"><div>{}</div></td>\n </tr>\n \n <tr>\n <td>rack.request.form_input</td>\n <td class="code"><div>#<Rack::Lint::InputWrapper:0x007ff8692f8cd0 @input=#<StringIO:0x007ff8692e81c8>></div></td>\n </tr>\n \n <tr>\n <td>rack.request.form_vars</td>\n <td class="code"><div></div></td>\n </tr>\n \n <tr>\n <td>rack.request.query_hash</td>\n <td class="code"><div>{}</div></td>\n </tr>\n \n <tr>\n <td>rack.request.query_string</td>\n <td class="code"><div></div></td>\n </tr>\n \n <tr>\n <td>rack.routing_args</td>\n <td class="code"><div>{:route_info=>#<Grape::Route:0x007ff862c4e278 @options={:description=>{:returns=>["Build"], :return_type=>"instance", :failure_modes=>[:cannot_access_builds_for_app, :invalid_data], :text=>""}, :params=>{"app_id"=>"", "message"=>{:required=>false, :type=>"String", :desc=>"A custom message describing this build."}}, :prefix=>nil, :version=>nil, :namespace=>"/apps/:app_id/builds", :method=>"POST", :path=>"/apps/:app_id/builds(.:format)", :compiled=>/\\A\\/apps\\/(?<app_id>[^\\/.?]+)\\/builds(?:\\.(?<format>[^\\/.?]+))?\\Z/}>, :app_id=>"hostingdocs"}</div></td>\n </tr>\n \n <tr>\n <td>rack.run_once</td>\n <td class="code"><div>false</div></td>\n </tr>\n \n <tr>\n <td>rack.session</td>\n <td class="code"><div>#<Rack::Session::Abstract::SessionHash:0x3ffc3497c58c not yet loaded></div></td>\n </tr>\n \n <tr>\n <td>rack.session.options</td>\n <td class="code"><div>{:path=>"/", :domain=>nil, :expire_after=>nil, :secure=>false, :httponly=>true, :defer=>false, :renew=>false, :sidbits=>128, :secure_random=>SecureRandom, :secret=>"deb1d665093c426f716d0ac61b691eacd8fbe3da", :coder=>#<Rack::Session::Cookie::Base64::Marshal:0x007ff865cb30d0>}</div></td>\n </tr>\n \n <tr>\n <td>rack.url_scheme</td>\n <td class="code"><div>http</div></td>\n </tr>\n \n <tr>\n <td>rack.version</td>\n <td class="code"><div>[1, 0]</div></td>\n </tr>\n \n <tr>\n <td>sinatra.commonlogger</td>\n <td class="code"><div>true</div></td>\n </tr>\n \n </tbody>\n </table>\n\n</div>\n\n<div id="explanation">\n <p>\n You\'re seeing this error because you use <code>Rack::ShowExceptions</code>.\n </p>\n</div>\n\n</body>\n</html>\n' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment