Created
December 12, 2018 15:09
-
-
Save mattwr18/3917a4d8c934db01e867efe5706c6dc1 to your computer and use it in GitHub Desktop.
This file contains 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
JSON::ParserError (765: unexpected token at '<!DOCTYPE html>) | |
<html lang="en"> | |
<head> | |
<meta charset="utf-8" /> | |
<title>Action Controller: Exception caught</title> | |
<style> | |
body { | |
background-color: #FAFAFA; | |
color: #333; | |
margin: 0px; | |
} | |
body, p, ol, ul, td { | |
font-family: helvetica, verdana, arial, sans-serif; | |
font-size: 13px; | |
line-height: 18px; | |
} | |
pre { | |
font-size: 11px; | |
white-space: pre-wrap; | |
} | |
pre.box { | |
border: 1px solid #EEE; | |
padding: 10px; | |
margin: 0px; | |
width: 958px; | |
} | |
header { | |
color: #F0F0F0; | |
background: #C52F24; | |
padding: 0.5em 1.5em; | |
} | |
h1 { | |
margin: 0.2em 0; | |
line-height: 1.1em; | |
font-size: 2em; | |
} | |
h2 { | |
color: #C52F24; | |
line-height: 25px; | |
} | |
.details { | |
border: 1px solid #D0D0D0; | |
border-radius: 4px; | |
margin: 1em 0px; | |
display: block; | |
width: 978px; | |
} | |
.summary { | |
padding: 8px 15px; | |
border-bottom: 1px solid #D0D0D0; | |
display: block; | |
} | |
.details pre { | |
margin: 5px; | |
border: none; | |
} | |
#container { | |
box-sizing: border-box; | |
width: 100%; | |
padding: 0 1.5em; | |
} | |
.source * { | |
margin: 0px; | |
padding: 0px; | |
} | |
.source { | |
border: 1px solid #D9D9D9; | |
background: #ECECEC; | |
width: 978px; | |
} | |
.source pre { | |
padding: 10px 0px; | |
border: none; | |
} | |
.source .data { | |
font-size: 80%; | |
overflow: auto; | |
background-color: #FFF; | |
} | |
.info { | |
padding: 0.5em; | |
} | |
.source .data .line_numbers { | |
background-color: #ECECEC; | |
color: #AAA; | |
padding: 1em .5em; | |
border-right: 1px solid #DDD; | |
text-align: right; | |
} | |
.line { | |
padding-left: 10px; | |
} | |
.line:hover { | |
background-color: #F6F6F6; | |
} | |
.line.active { | |
background-color: #FFCCCC; | |
} | |
.hidden { | |
display: none; | |
} | |
a { color: #980905; } | |
a:visited { color: #666; } | |
a.trace-frames { color: #666; } | |
a:hover { color: #C52F24; } | |
a.trace-frames.selected { color: #C52F24 } | |
</style> | |
<script> | |
var toggle = function(id) { | |
var s = document.getElementById(id).style; | |
s.display = s.display == 'none' ? 'block' : 'none'; | |
return false; | |
} | |
var show = function(id) { | |
document.getElementById(id).style.display = 'block'; | |
} | |
var hide = function(id) { | |
document.getElementById(id).style.display = 'none'; | |
} | |
var toggleTrace = function() { | |
return toggle('blame_trace'); | |
} | |
var toggleSessionDump = function() { | |
return toggle('session_dump'); | |
} | |
var toggleEnvDump = function() { | |
return toggle('env_dump'); | |
} | |
</script> | |
</head> | |
<body> | |
<header> | |
<h1> | |
ActiveRecord::ConnectionNotEstablished | |
in CharitiesController#index | |
</h1> | |
</header> | |
<div id="container"> | |
<h2>No connection pool with 'primary' found.</h2> | |
<div class="source hidden" id="frame-source-0"> | |
<div class="info"> | |
Extracted source (around line <strong>#930</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>928</span> | |
<span>929</span> | |
<span>930</span> | |
<span>931</span> | |
<span>932</span> | |
<span>933</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> def retrieve_connection(spec_name) #:nodoc: | |
</div><div class="line"> pool = retrieve_connection_pool(spec_name) | |
</div><div class="line active"> raise ConnectionNotEstablished, "No connection pool with '#{spec_name}' found." unless pool | |
</div><div class="line"> conn = pool.connection | |
</div><div class="line"> raise ConnectionNotEstablished, "No connection for '#{spec_name}' in connection pool" unless conn | |
</div><div class="line"> conn | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-1"> | |
<div class="info"> | |
Extracted source (around line <strong>#116</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>114</span> | |
<span>115</span> | |
<span>116</span> | |
<span>117</span> | |
<span>118</span> | |
<span>119</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> | |
</div><div class="line"> def retrieve_connection | |
</div><div class="line active"> connection_handler.retrieve_connection(connection_specification_name) | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div><div class="line"> # Returns +true+ if Active Record is connected. | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-2"> | |
<div class="info"> | |
Extracted source (around line <strong>#88</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>86</span> | |
<span>87</span> | |
<span>88</span> | |
<span>89</span> | |
<span>90</span> | |
<span>91</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> # to any of the specific Active Records. | |
</div><div class="line"> def connection | |
</div><div class="line active"> retrieve_connection | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div><div class="line"> attr_writer :connection_specification_name | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-3"> | |
<div class="info"> | |
Extracted source (around line <strong>#471</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>469</span> | |
<span>470</span> | |
<span>471</span> | |
<span>472</span> | |
<span>473</span> | |
<span>474</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> | |
</div><div class="line"> def load_schema! | |
</div><div class="line active"> @columns_hash = connection.schema_cache.columns_hash(table_name).except(*ignored_columns) | |
</div><div class="line"> @columns_hash.each do |name, column| | |
</div><div class="line"> define_attribute( | |
</div><div class="line"> name, | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-4"> | |
<div class="info"> | |
Extracted source (around line <strong>#233</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>231</span> | |
<span>232</span> | |
<span>233</span> | |
<span>234</span> | |
<span>235</span> | |
<span>236</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> | |
</div><div class="line"> def load_schema! # :nodoc: | |
</div><div class="line active"> super | |
</div><div class="line"> attributes_to_define_after_schema_loads.each do |name, (type, options)| | |
</div><div class="line"> if type.is_a?(Symbol) | |
</div><div class="line"> type = ActiveRecord::Type.lookup(type, **options.except(:default)) | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-5"> | |
<div class="info"> | |
Extracted source (around line <strong>#50</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>48</span> | |
<span>49</span> | |
<span>50</span> | |
<span>51</span> | |
<span>52</span> | |
<span>53</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> | |
</div><div class="line"> def load_schema! | |
</div><div class="line active"> super | |
</div><div class="line"> attribute_types.each do |name, type| | |
</div><div class="line"> decorated_type = attribute_type_decorations.apply(name, type) | |
</div><div class="line"> define_attribute(name, decorated_type) | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-6"> | |
<div class="info"> | |
Extracted source (around line <strong>#464</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>462</span> | |
<span>463</span> | |
<span>464</span> | |
<span>465</span> | |
<span>466</span> | |
<span>467</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> return if defined?(@columns_hash) && @columns_hash | |
</div><div class="line"> | |
</div><div class="line active"> load_schema! | |
</div><div class="line"> | |
</div><div class="line"> @schema_loaded = true | |
</div><div class="line"> end | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-7"> | |
<div class="info"> | |
Extracted source (around line <strong>#226</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>224</span> | |
<span>225</span> | |
<span>226</span> | |
<span>227</span> | |
<span>228</span> | |
<span>229</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> mon_enter | |
</div><div class="line"> begin | |
</div><div class="line active"> yield | |
</div><div class="line"> ensure | |
</div><div class="line"> mon_exit | |
</div><div class="line"> end | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-8"> | |
<div class="info"> | |
Extracted source (around line <strong>#461</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>459</span> | |
<span>460</span> | |
<span>461</span> | |
<span>462</span> | |
<span>463</span> | |
<span>464</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> def load_schema | |
</div><div class="line"> return if schema_loaded? | |
</div><div class="line active"> @load_schema_monitor.synchronize do | |
</div><div class="line"> return if defined?(@columns_hash) && @columns_hash | |
</div><div class="line"> | |
</div><div class="line"> load_schema! | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-9"> | |
<div class="info"> | |
Extracted source (around line <strong>#348</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>346</span> | |
<span>347</span> | |
<span>348</span> | |
<span>349</span> | |
<span>350</span> | |
<span>351</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> | |
</div><div class="line"> def columns | |
</div><div class="line active"> load_schema | |
</div><div class="line"> @columns ||= columns_hash.values | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-10"> | |
<div class="info"> | |
Extracted source (around line <strong>#393</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>391</span> | |
<span>392</span> | |
<span>393</span> | |
<span>394</span> | |
<span>395</span> | |
<span>396</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> # Returns an array of column names as strings. | |
</div><div class="line"> def column_names | |
</div><div class="line active"> @column_names ||= columns.map(&:name) | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div><div class="line"> # Returns an array of column objects where the primary id, all columns ending in "_id" or "_count", | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source " id="frame-source-11"> | |
<div class="info"> | |
Extracted source (around line <strong>#5</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>3</span> | |
<span>4</span> | |
<span>5</span> | |
<span>6</span> | |
<span>7</span> | |
<span>8</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> result = self | |
</div><div class="line"> params.each do |key, value| | |
</div><div class="line active"> result = result.where("#{key} REGEXP ?", value) if column_names.include? key | |
</div><div class="line"> end | |
</div><div class="line"> result == self ? self.first(number_records) : result.first(number_records).to_a | |
</div><div class="line"> end | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-12"> | |
<div class="info"> | |
Extracted source (around line <strong>#332</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>330</span> | |
<span>331</span> | |
<span>332</span> | |
<span>333</span> | |
<span>334</span> | |
<span>335</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> def each_pair(&block) | |
</div><div class="line"> @parameters.each_pair do |key, value| | |
</div><div class="line active"> yield key, convert_hashes_to_parameters(key, value) | |
</div><div class="line"> end | |
</div><div class="line"> end | |
</div><div class="line"> alias_method :each, :each_pair | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-13"> | |
<div class="info"> | |
Extracted source (around line <strong>#331</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>329</span> | |
<span>330</span> | |
<span>331</span> | |
<span>332</span> | |
<span>333</span> | |
<span>334</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> # the same way as <tt>Hash#each_pair</tt>. | |
</div><div class="line"> def each_pair(&block) | |
</div><div class="line active"> @parameters.each_pair do |key, value| | |
</div><div class="line"> yield key, convert_hashes_to_parameters(key, value) | |
</div><div class="line"> end | |
</div><div class="line"> end | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-14"> | |
<div class="info"> | |
Extracted source (around line <strong>#331</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>329</span> | |
<span>330</span> | |
<span>331</span> | |
<span>332</span> | |
<span>333</span> | |
<span>334</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> # the same way as <tt>Hash#each_pair</tt>. | |
</div><div class="line"> def each_pair(&block) | |
</div><div class="line active"> @parameters.each_pair do |key, value| | |
</div><div class="line"> yield key, convert_hashes_to_parameters(key, value) | |
</div><div class="line"> end | |
</div><div class="line"> end | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-15"> | |
<div class="info"> | |
Extracted source (around line <strong>#4</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>2</span> | |
<span>3</span> | |
<span>4</span> | |
<span>5</span> | |
<span>6</span> | |
<span>7</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> def search(params, number_records) | |
</div><div class="line"> result = self | |
</div><div class="line active"> params.each do |key, value| | |
</div><div class="line"> result = result.where("#{key} REGEXP ?", value) if column_names.include? key | |
</div><div class="line"> end | |
</div><div class="line"> result == self ? self.first(number_records) : result.first(number_records).to_a | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-16"> | |
<div class="info"> | |
Extracted source (around line <strong>#7</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>5</span> | |
<span>6</span> | |
<span>7</span> | |
<span>8</span> | |
<span>9</span> | |
<span>10</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> # GET /charities.json | |
</div><div class="line"> def index | |
</div><div class="line active"> @charities = Charity.search(params, 50) | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div><div class="line"> # GET /charities/1 | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-17"> | |
<div class="info"> | |
Extracted source (around line <strong>#4</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>2</span> | |
<span>3</span> | |
<span>4</span> | |
<span>5</span> | |
<span>6</span> | |
<span>7</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> module BasicImplicitRender # :nodoc: | |
</div><div class="line"> def send_action(method, *args) | |
</div><div class="line active"> super.tap { default_render unless performed? } | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div><div class="line"> def default_render(*args) | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-18"> | |
<div class="info"> | |
Extracted source (around line <strong>#186</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>184</span> | |
<span>185</span> | |
<span>186</span> | |
<span>187</span> | |
<span>188</span> | |
<span>189</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> # which is *not* necessarily the same as the action name. | |
</div><div class="line"> def process_action(method_name, *args) | |
</div><div class="line active"> send_action(method_name, *args) | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div><div class="line"> # Actually call the method associated with the action. Override | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-19"> | |
<div class="info"> | |
Extracted source (around line <strong>#30</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>28</span> | |
<span>29</span> | |
<span>30</span> | |
<span>31</span> | |
<span>32</span> | |
<span>33</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> def process_action(*) #:nodoc: | |
</div><div class="line"> self.formats = request.formats.map(&:ref).compact | |
</div><div class="line active"> super | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div><div class="line"> # Check for double render errors and set the content_type after rendering. | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-20"> | |
<div class="info"> | |
Extracted source (around line <strong>#20</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>18</span> | |
<span>19</span> | |
<span>20</span> | |
<span>21</span> | |
<span>22</span> | |
<span>23</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> def process_action(*args) | |
</div><div class="line"> run_callbacks(:process_action) do | |
</div><div class="line active"> super | |
</div><div class="line"> end | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-21"> | |
<div class="info"> | |
Extracted source (around line <strong>#131</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>129</span> | |
<span>130</span> | |
<span>131</span> | |
<span>132</span> | |
<span>133</span> | |
<span>134</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> if next_sequence.final? | |
</div><div class="line"> next_sequence.invoke_before(env) | |
</div><div class="line active"> env.value = !env.halted && (!block_given? || yield) | |
</div><div class="line"> next_sequence.invoke_after(env) | |
</div><div class="line"> env.value | |
</div><div class="line"> else | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-22"> | |
<div class="info"> | |
Extracted source (around line <strong>#19</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>17</span> | |
<span>18</span> | |
<span>19</span> | |
<span>20</span> | |
<span>21</span> | |
<span>22</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> # process_action callbacks around the normal behavior. | |
</div><div class="line"> def process_action(*args) | |
</div><div class="line active"> run_callbacks(:process_action) do | |
</div><div class="line"> super | |
</div><div class="line"> end | |
</div><div class="line"> end | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-23"> | |
<div class="info"> | |
Extracted source (around line <strong>#20</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>18</span> | |
<span>19</span> | |
<span>20</span> | |
<span>21</span> | |
<span>22</span> | |
<span>23</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> private | |
</div><div class="line"> def process_action(*args) | |
</div><div class="line active"> super | |
</div><div class="line"> rescue Exception => exception | |
</div><div class="line"> request.env["action_dispatch.show_detailed_exceptions"] ||= show_detailed_exceptions? | |
</div><div class="line"> rescue_with_handler(exception) || raise | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-24"> | |
<div class="info"> | |
Extracted source (around line <strong>#32</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>30</span> | |
<span>31</span> | |
<span>32</span> | |
<span>33</span> | |
<span>34</span> | |
<span>35</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> ActiveSupport::Notifications.instrument("process_action.action_controller", raw_payload) do |payload| | |
</div><div class="line"> begin | |
</div><div class="line active"> result = super | |
</div><div class="line"> payload[:status] = response.status | |
</div><div class="line"> result | |
</div><div class="line"> ensure | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-25"> | |
<div class="info"> | |
Extracted source (around line <strong>#166</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>164</span> | |
<span>165</span> | |
<span>166</span> | |
<span>167</span> | |
<span>168</span> | |
<span>169</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> def instrument(name, payload = {}) | |
</div><div class="line"> if notifier.listening?(name) | |
</div><div class="line active"> instrumenter.instrument(name, payload) { yield payload if block_given? } | |
</div><div class="line"> else | |
</div><div class="line"> yield payload if block_given? | |
</div><div class="line"> end | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-26"> | |
<div class="info"> | |
Extracted source (around line <strong>#21</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>19</span> | |
<span>20</span> | |
<span>21</span> | |
<span>22</span> | |
<span>23</span> | |
<span>24</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> listeners_state = start name, payload | |
</div><div class="line"> begin | |
</div><div class="line active"> yield payload | |
</div><div class="line"> rescue Exception => e | |
</div><div class="line"> payload[:exception] = [e.class.name, e.message] | |
</div><div class="line"> payload[:exception_object] = e | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-27"> | |
<div class="info"> | |
Extracted source (around line <strong>#166</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>164</span> | |
<span>165</span> | |
<span>166</span> | |
<span>167</span> | |
<span>168</span> | |
<span>169</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> def instrument(name, payload = {}) | |
</div><div class="line"> if notifier.listening?(name) | |
</div><div class="line active"> instrumenter.instrument(name, payload) { yield payload if block_given? } | |
</div><div class="line"> else | |
</div><div class="line"> yield payload if block_given? | |
</div><div class="line"> end | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-28"> | |
<div class="info"> | |
Extracted source (around line <strong>#30</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>28</span> | |
<span>29</span> | |
<span>30</span> | |
<span>31</span> | |
<span>32</span> | |
<span>33</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> ActiveSupport::Notifications.instrument("start_processing.action_controller", raw_payload.dup) | |
</div><div class="line"> | |
</div><div class="line active"> ActiveSupport::Notifications.instrument("process_action.action_controller", raw_payload) do |payload| | |
</div><div class="line"> begin | |
</div><div class="line"> result = super | |
</div><div class="line"> payload[:status] = response.status | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-29"> | |
<div class="info"> | |
Extracted source (around line <strong>#252</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>250</span> | |
<span>251</span> | |
<span>252</span> | |
<span>253</span> | |
<span>254</span> | |
<span>255</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> request.filtered_parameters.merge! wrapped_filtered_hash | |
</div><div class="line"> end | |
</div><div class="line active"> super | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div><div class="line"> private | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-30"> | |
<div class="info"> | |
Extracted source (around line <strong>#22</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>20</span> | |
<span>21</span> | |
<span>22</span> | |
<span>23</span> | |
<span>24</span> | |
<span>25</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> # and it won't be cleaned up by the method below. | |
</div><div class="line"> ActiveRecord::LogSubscriber.reset_runtime | |
</div><div class="line active"> super | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div><div class="line"> def cleanup_view_runtime | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-31"> | |
<div class="info"> | |
Extracted source (around line <strong>#124</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>122</span> | |
<span>123</span> | |
<span>124</span> | |
<span>125</span> | |
<span>126</span> | |
<span>127</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> @_response_body = nil | |
</div><div class="line"> | |
</div><div class="line active"> process_action(action_name, *args) | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div><div class="line"> # Delegates to the class' ::controller_path | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-32"> | |
<div class="info"> | |
Extracted source (around line <strong>#30</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>28</span> | |
<span>29</span> | |
<span>30</span> | |
<span>31</span> | |
<span>32</span> | |
<span>33</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> def process(*) #:nodoc: | |
</div><div class="line"> old_config, I18n.config = I18n.config, I18nProxy.new(I18n.config, lookup_context) | |
</div><div class="line active"> super | |
</div><div class="line"> ensure | |
</div><div class="line"> I18n.config = old_config | |
</div><div class="line"> end | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-33"> | |
<div class="info"> | |
Extracted source (around line <strong>#189</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>187</span> | |
<span>188</span> | |
<span>189</span> | |
<span>190</span> | |
<span>191</span> | |
<span>192</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> set_request!(request) | |
</div><div class="line"> set_response!(response) | |
</div><div class="line active"> process(name) | |
</div><div class="line"> request.commit_flash | |
</div><div class="line"> to_a | |
</div><div class="line"> end | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-34"> | |
<div class="info"> | |
Extracted source (around line <strong>#253</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>251</span> | |
<span>252</span> | |
<span>253</span> | |
<span>254</span> | |
<span>255</span> | |
<span>256</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> middleware_stack.build(name) { |env| new.dispatch(name, req, res) }.call req.env | |
</div><div class="line"> else | |
</div><div class="line active"> new.dispatch(name, req, res) | |
</div><div class="line"> end | |
</div><div class="line"> end | |
</div><div class="line"> end | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-35"> | |
<div class="info"> | |
Extracted source (around line <strong>#49</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>47</span> | |
<span>48</span> | |
<span>49</span> | |
<span>50</span> | |
<span>51</span> | |
<span>52</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> | |
</div><div class="line"> def dispatch(controller, action, req, res) | |
</div><div class="line active"> controller.dispatch(action, req, res) | |
</div><div class="line"> end | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-36"> | |
<div class="info"> | |
Extracted source (around line <strong>#31</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>29</span> | |
<span>30</span> | |
<span>31</span> | |
<span>32</span> | |
<span>33</span> | |
<span>34</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> controller = controller req | |
</div><div class="line"> res = controller.make_response! req | |
</div><div class="line active"> dispatch(controller, params[:action], req, res) | |
</div><div class="line"> rescue ActionController::RoutingError | |
</div><div class="line"> if @raise_on_name_error | |
</div><div class="line"> raise | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-37"> | |
<div class="info"> | |
Extracted source (around line <strong>#50</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>48</span> | |
<span>49</span> | |
<span>50</span> | |
<span>51</span> | |
<span>52</span> | |
<span>53</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> req.path_parameters = set_params.merge parameters | |
</div><div class="line"> | |
</div><div class="line active"> status, headers, body = route.app.serve(req) | |
</div><div class="line"> | |
</div><div class="line"> if "pass" == headers["X-Cascade"] | |
</div><div class="line"> req.script_name = script_name | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-38"> | |
<div class="info"> | |
Extracted source (around line <strong>#33</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>31</span> | |
<span>32</span> | |
<span>33</span> | |
<span>34</span> | |
<span>35</span> | |
<span>36</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> | |
</div><div class="line"> def serve(req) | |
</div><div class="line active"> find_routes(req).each do |match, parameters, route| | |
</div><div class="line"> set_params = req.path_parameters | |
</div><div class="line"> path_info = req.path_info | |
</div><div class="line"> script_name = req.script_name | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-39"> | |
<div class="info"> | |
Extracted source (around line <strong>#33</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>31</span> | |
<span>32</span> | |
<span>33</span> | |
<span>34</span> | |
<span>35</span> | |
<span>36</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> | |
</div><div class="line"> def serve(req) | |
</div><div class="line active"> find_routes(req).each do |match, parameters, route| | |
</div><div class="line"> set_params = req.path_parameters | |
</div><div class="line"> path_info = req.path_info | |
</div><div class="line"> script_name = req.script_name | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-40"> | |
<div class="info"> | |
Extracted source (around line <strong>#834</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>832</span> | |
<span>833</span> | |
<span>834</span> | |
<span>835</span> | |
<span>836</span> | |
<span>837</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> req = make_request(env) | |
</div><div class="line"> req.path_info = Journey::Router::Utils.normalize_path(req.path_info) | |
</div><div class="line active"> @router.serve(req) | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div><div class="line"> def recognize_path(path, environment = {}) | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-41"> | |
<div class="info"> | |
Extracted source (around line <strong>#25</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>23</span> | |
<span>24</span> | |
<span>25</span> | |
<span>26</span> | |
<span>27</span> | |
<span>28</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> | |
</div><div class="line"> def call(env) | |
</div><div class="line active"> status, headers, body = @app.call(env) | |
</div><div class="line"> | |
</div><div class="line"> if etag_status?(status) && etag_body?(body) && !skip_caching?(headers) | |
</div><div class="line"> original_body = body | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-42"> | |
<div class="info"> | |
Extracted source (around line <strong>#25</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>23</span> | |
<span>24</span> | |
<span>25</span> | |
<span>26</span> | |
<span>27</span> | |
<span>28</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> case env[REQUEST_METHOD] | |
</div><div class="line"> when "GET", "HEAD" | |
</div><div class="line active"> status, headers, body = @app.call(env) | |
</div><div class="line"> headers = Utils::HeaderHash.new(headers) | |
</div><div class="line"> if status == 200 && fresh?(env, headers) | |
</div><div class="line"> status = 304 | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-43"> | |
<div class="info"> | |
Extracted source (around line <strong>#12</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>10</span> | |
<span>11</span> | |
<span>12</span> | |
<span>13</span> | |
<span>14</span> | |
<span>15</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> | |
</div><div class="line"> def call(env) | |
</div><div class="line active"> status, headers, body = @app.call(env) | |
</div><div class="line"> | |
</div><div class="line"> if env[REQUEST_METHOD] == HEAD | |
</div><div class="line"> [ | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-44"> | |
<div class="info"> | |
Extracted source (around line <strong>#232</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>230</span> | |
<span>231</span> | |
<span>232</span> | |
<span>233</span> | |
<span>234</span> | |
<span>235</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> req = make_request env | |
</div><div class="line"> prepare_session(req) | |
</div><div class="line active"> status, headers, body = app.call(req.env) | |
</div><div class="line"> res = Rack::Response::Raw.new status, headers | |
</div><div class="line"> commit_session(req, res) | |
</div><div class="line"> [status, headers, body] | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-45"> | |
<div class="info"> | |
Extracted source (around line <strong>#226</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>224</span> | |
<span>225</span> | |
<span>226</span> | |
<span>227</span> | |
<span>228</span> | |
<span>229</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> | |
</div><div class="line"> def call(env) | |
</div><div class="line active"> context(env) | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div><div class="line"> def context(env, app=@app) | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-46"> | |
<div class="info"> | |
Extracted source (around line <strong>#613</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>611</span> | |
<span>612</span> | |
<span>613</span> | |
<span>614</span> | |
<span>615</span> | |
<span>616</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> request = ActionDispatch::Request.new env | |
</div><div class="line"> | |
</div><div class="line active"> status, headers, body = @app.call(env) | |
</div><div class="line"> | |
</div><div class="line"> if request.have_cookie_jar? | |
</div><div class="line"> cookie_jar = request.cookie_jar | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-47"> | |
<div class="info"> | |
Extracted source (around line <strong>#556</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>554</span> | |
<span>555</span> | |
<span>556</span> | |
<span>557</span> | |
<span>558</span> | |
<span>559</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> @last_check = mtime | |
</div><div class="line"> end | |
</div><div class="line active"> @app.call(env) | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div><div class="line"> private | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-48"> | |
<div class="info"> | |
Extracted source (around line <strong>#26</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>24</span> | |
<span>25</span> | |
<span>26</span> | |
<span>27</span> | |
<span>28</span> | |
<span>29</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> result = run_callbacks :call do | |
</div><div class="line"> begin | |
</div><div class="line active"> @app.call(env) | |
</div><div class="line"> rescue => error | |
</div><div class="line"> end | |
</div><div class="line"> end | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-49"> | |
<div class="info"> | |
Extracted source (around line <strong>#97</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>95</span> | |
<span>96</span> | |
<span>97</span> | |
<span>98</span> | |
<span>99</span> | |
<span>100</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> | |
</div><div class="line"> if callbacks.empty? | |
</div><div class="line active"> yield if block_given? | |
</div><div class="line"> else | |
</div><div class="line"> env = Filters::Environment.new(self, false, nil) | |
</div><div class="line"> next_sequence = callbacks.compile | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-50"> | |
<div class="info"> | |
Extracted source (around line <strong>#24</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>22</span> | |
<span>23</span> | |
<span>24</span> | |
<span>25</span> | |
<span>26</span> | |
<span>27</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> def call(env) | |
</div><div class="line"> error = nil | |
</div><div class="line active"> result = run_callbacks :call do | |
</div><div class="line"> begin | |
</div><div class="line"> @app.call(env) | |
</div><div class="line"> rescue => error | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-51"> | |
<div class="info"> | |
Extracted source (around line <strong>#12</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>10</span> | |
<span>11</span> | |
<span>12</span> | |
<span>13</span> | |
<span>14</span> | |
<span>15</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> state = @executor.run! | |
</div><div class="line"> begin | |
</div><div class="line active"> response = @app.call(env) | |
</div><div class="line"> returned = response << ::Rack::BodyProxy.new(response.pop) { state.complete! } | |
</div><div class="line"> ensure | |
</div><div class="line"> state.complete! unless returned | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-52"> | |
<div class="info"> | |
Extracted source (around line <strong>#59</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>57</span> | |
<span>58</span> | |
<span>59</span> | |
<span>60</span> | |
<span>61</span> | |
<span>62</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> def call(env) | |
</div><div class="line"> request = ActionDispatch::Request.new env | |
</div><div class="line active"> _, headers, body = response = @app.call(env) | |
</div><div class="line"> | |
</div><div class="line"> if headers["X-Cascade"] == "pass" | |
</div><div class="line"> body.close if body.respond_to?(:close) | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-53"> | |
<div class="info"> | |
Extracted source (around line <strong>#135</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>133</span> | |
<span>134</span> | |
<span>135</span> | |
<span>136</span> | |
<span>137</span> | |
<span>138</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> | |
</div><div class="line"> def call_app(env) | |
</div><div class="line active"> @app.call(env) | |
</div><div class="line"> rescue => e | |
</div><div class="line"> throw :app_exception, e | |
</div><div class="line"> end | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-54"> | |
<div class="info"> | |
Extracted source (around line <strong>#20</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>18</span> | |
<span>19</span> | |
<span>20</span> | |
<span>21</span> | |
<span>22</span> | |
<span>23</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> app_exception = catch :app_exception do | |
</div><div class="line"> request = create_regular_or_whiny_request(env) | |
</div><div class="line active"> return call_app(env) unless request.from_whitelisted_ip? | |
</div><div class="line"> | |
</div><div class="line"> if id = id_for_repl_session_update(request) | |
</div><div class="line"> return update_repl_session(id, request) | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-55"> | |
<div class="info"> | |
Extracted source (around line <strong>#18</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>16</span> | |
<span>17</span> | |
<span>18</span> | |
<span>19</span> | |
<span>20</span> | |
<span>21</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> | |
</div><div class="line"> def call(env) | |
</div><div class="line active"> app_exception = catch :app_exception do | |
</div><div class="line"> request = create_regular_or_whiny_request(env) | |
</div><div class="line"> return call_app(env) unless request.from_whitelisted_ip? | |
</div><div class="line"> | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-56"> | |
<div class="info"> | |
Extracted source (around line <strong>#18</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>16</span> | |
<span>17</span> | |
<span>18</span> | |
<span>19</span> | |
<span>20</span> | |
<span>21</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> | |
</div><div class="line"> def call(env) | |
</div><div class="line active"> app_exception = catch :app_exception do | |
</div><div class="line"> request = create_regular_or_whiny_request(env) | |
</div><div class="line"> return call_app(env) unless request.from_whitelisted_ip? | |
</div><div class="line"> | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-57"> | |
<div class="info"> | |
Extracted source (around line <strong>#31</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>29</span> | |
<span>30</span> | |
<span>31</span> | |
<span>32</span> | |
<span>33</span> | |
<span>34</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> def call(env) | |
</div><div class="line"> request = ActionDispatch::Request.new env | |
</div><div class="line active"> @app.call(env) | |
</div><div class="line"> rescue Exception => exception | |
</div><div class="line"> if request.show_exceptions? | |
</div><div class="line"> render_exception(request, exception) | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-58"> | |
<div class="info"> | |
Extracted source (around line <strong>#36</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>34</span> | |
<span>35</span> | |
<span>36</span> | |
<span>37</span> | |
<span>38</span> | |
<span>39</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> instrumenter.start "request.action_dispatch", request: request | |
</div><div class="line"> logger.info { started_request_message(request) } | |
</div><div class="line active"> resp = @app.call(env) | |
</div><div class="line"> resp[2] = ::Rack::BodyProxy.new(resp[2]) { finish(request) } | |
</div><div class="line"> resp | |
</div><div class="line"> rescue Exception | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-59"> | |
<div class="info"> | |
Extracted source (around line <strong>#24</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>22</span> | |
<span>23</span> | |
<span>24</span> | |
<span>25</span> | |
<span>26</span> | |
<span>27</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> | |
</div><div class="line"> if logger.respond_to?(:tagged) | |
</div><div class="line active"> logger.tagged(compute_tags(request)) { call_app(request, env) } | |
</div><div class="line"> else | |
</div><div class="line"> call_app(request, env) | |
</div><div class="line"> end | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-60"> | |
<div class="info"> | |
Extracted source (around line <strong>#69</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>67</span> | |
<span>68</span> | |
<span>69</span> | |
<span>70</span> | |
<span>71</span> | |
<span>72</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> | |
</div><div class="line"> def tagged(*tags) | |
</div><div class="line active"> formatter.tagged(*tags) { yield self } | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div><div class="line"> def flush | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-61"> | |
<div class="info"> | |
Extracted source (around line <strong>#26</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>24</span> | |
<span>25</span> | |
<span>26</span> | |
<span>27</span> | |
<span>28</span> | |
<span>29</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> def tagged(*tags) | |
</div><div class="line"> new_tags = push_tags(*tags) | |
</div><div class="line active"> yield self | |
</div><div class="line"> ensure | |
</div><div class="line"> pop_tags(new_tags.size) | |
</div><div class="line"> end | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-62"> | |
<div class="info"> | |
Extracted source (around line <strong>#69</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>67</span> | |
<span>68</span> | |
<span>69</span> | |
<span>70</span> | |
<span>71</span> | |
<span>72</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> | |
</div><div class="line"> def tagged(*tags) | |
</div><div class="line active"> formatter.tagged(*tags) { yield self } | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div><div class="line"> def flush | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-63"> | |
<div class="info"> | |
Extracted source (around line <strong>#24</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>22</span> | |
<span>23</span> | |
<span>24</span> | |
<span>25</span> | |
<span>26</span> | |
<span>27</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> | |
</div><div class="line"> if logger.respond_to?(:tagged) | |
</div><div class="line active"> logger.tagged(compute_tags(request)) { call_app(request, env) } | |
</div><div class="line"> else | |
</div><div class="line"> call_app(request, env) | |
</div><div class="line"> end | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-64"> | |
<div class="info"> | |
Extracted source (around line <strong>#13</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>11</span> | |
<span>12</span> | |
<span>13</span> | |
<span>14</span> | |
<span>15</span> | |
<span>16</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> ::Rails.logger.silence { @app.call(env) } | |
</div><div class="line"> else | |
</div><div class="line active"> @app.call(env) | |
</div><div class="line"> end | |
</div><div class="line"> end | |
</div><div class="line"> end | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-65"> | |
<div class="info"> | |
Extracted source (around line <strong>#79</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>77</span> | |
<span>78</span> | |
<span>79</span> | |
<span>80</span> | |
<span>81</span> | |
<span>82</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> req = ActionDispatch::Request.new env | |
</div><div class="line"> req.remote_ip = GetIp.new(req, check_ip, proxies) | |
</div><div class="line active"> @app.call(req.env) | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div><div class="line"> # The GetIp class exists as a way to defer processing of the request data | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-66"> | |
<div class="info"> | |
Extracted source (around line <strong>#25</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>23</span> | |
<span>24</span> | |
<span>25</span> | |
<span>26</span> | |
<span>27</span> | |
<span>28</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> req = ActionDispatch::Request.new env | |
</div><div class="line"> req.request_id = make_request_id(req.x_request_id) | |
</div><div class="line active"> @app.call(env).tap { |_status, headers, _body| headers[X_REQUEST_ID] = req.request_id } | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div><div class="line"> private | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-67"> | |
<div class="info"> | |
Extracted source (around line <strong>#22</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>20</span> | |
<span>21</span> | |
<span>22</span> | |
<span>23</span> | |
<span>24</span> | |
<span>25</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> end | |
</div><div class="line"> | |
</div><div class="line active"> @app.call(env) | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div><div class="line"> def method_override(env) | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-68"> | |
<div class="info"> | |
Extracted source (around line <strong>#22</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>20</span> | |
<span>21</span> | |
<span>22</span> | |
<span>23</span> | |
<span>24</span> | |
<span>25</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> def call(env) | |
</div><div class="line"> start_time = Utils.clock_time | |
</div><div class="line active"> status, headers, body = @app.call(env) | |
</div><div class="line"> request_time = Utils.clock_time - start_time | |
</div><div class="line"> | |
</div><div class="line"> unless headers.has_key?(@header_name) | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-69"> | |
<div class="info"> | |
Extracted source (around line <strong>#27</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>25</span> | |
<span>26</span> | |
<span>27</span> | |
<span>28</span> | |
<span>29</span> | |
<span>30</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> def call(env) | |
</div><div class="line"> LocalCacheRegistry.set_cache_for(local_cache_key, LocalStore.new) | |
</div><div class="line active"> response = @app.call(env) | |
</div><div class="line"> response[2] = ::Rack::BodyProxy.new(response[2]) do | |
</div><div class="line"> LocalCacheRegistry.set_cache_for(local_cache_key, nil) | |
</div><div class="line"> end | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-70"> | |
<div class="info"> | |
Extracted source (around line <strong>#12</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>10</span> | |
<span>11</span> | |
<span>12</span> | |
<span>13</span> | |
<span>14</span> | |
<span>15</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> state = @executor.run! | |
</div><div class="line"> begin | |
</div><div class="line active"> response = @app.call(env) | |
</div><div class="line"> returned = response << ::Rack::BodyProxy.new(response.pop) { state.complete! } | |
</div><div class="line"> ensure | |
</div><div class="line"> state.complete! unless returned | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-71"> | |
<div class="info"> | |
Extracted source (around line <strong>#125</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>123</span> | |
<span>124</span> | |
<span>125</span> | |
<span>126</span> | |
<span>127</span> | |
<span>128</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> end | |
</div><div class="line"> | |
</div><div class="line active"> @app.call(req.env) | |
</div><div class="line"> end | |
</div><div class="line"> end | |
</div><div class="line">end | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-72"> | |
<div class="info"> | |
Extracted source (around line <strong>#111</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>109</span> | |
<span>110</span> | |
<span>111</span> | |
<span>112</span> | |
<span>113</span> | |
<span>114</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> | |
</div><div class="line"> def call(env) | |
</div><div class="line active"> status, headers, body = @app.call(env) | |
</div><div class="line"> if body.respond_to?(:to_path) | |
</div><div class="line"> case type = variation(env) | |
</div><div class="line"> when 'X-Accel-Redirect' | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-73"> | |
<div class="info"> | |
Extracted source (around line <strong>#522</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>520</span> | |
<span>521</span> | |
<span>522</span> | |
<span>523</span> | |
<span>524</span> | |
<span>525</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> def call(env) | |
</div><div class="line"> req = build_request env | |
</div><div class="line active"> app.call req.env | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div><div class="line"> # Defines additional Rack env configuration that is added on each call. | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-74"> | |
<div class="info"> | |
Extracted source (around line <strong>#225</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>223</span> | |
<span>224</span> | |
<span>225</span> | |
<span>226</span> | |
<span>227</span> | |
<span>228</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> def call(env) | |
</div><div class="line"> env[Const::PUMA_CONFIG] = @config | |
</div><div class="line active"> @app.call(env) | |
</div><div class="line"> end | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-75"> | |
<div class="info"> | |
Extracted source (around line <strong>#605</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>603</span> | |
<span>604</span> | |
<span>605</span> | |
<span>606</span> | |
<span>607</span> | |
<span>608</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> begin | |
</div><div class="line"> begin | |
</div><div class="line active"> status, headers, res_body = @app.call(env) | |
</div><div class="line"> | |
</div><div class="line"> return :async if req.hijacked | |
</div><div class="line"> | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-76"> | |
<div class="info"> | |
Extracted source (around line <strong>#437</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>435</span> | |
<span>436</span> | |
<span>437</span> | |
<span>438</span> | |
<span>439</span> | |
<span>440</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> | |
</div><div class="line"> while true | |
</div><div class="line active"> case handle_request(client, buffer) | |
</div><div class="line"> when false | |
</div><div class="line"> return | |
</div><div class="line"> when :async | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-77"> | |
<div class="info"> | |
Extracted source (around line <strong>#301</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>299</span> | |
<span>300</span> | |
<span>301</span> | |
<span>302</span> | |
<span>303</span> | |
<span>304</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> else | |
</div><div class="line"> if process_now | |
</div><div class="line active"> process_client client, buffer | |
</div><div class="line"> else | |
</div><div class="line"> client.set_timeout @first_data_timeout | |
</div><div class="line"> @reactor.add client | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-78"> | |
<div class="info"> | |
Extracted source (around line <strong>#120</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>118</span> | |
<span>119</span> | |
<span>120</span> | |
<span>121</span> | |
<span>122</span> | |
<span>123</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> | |
</div><div class="line"> begin | |
</div><div class="line active"> block.call(work, *extra) | |
</div><div class="line"> rescue Exception => e | |
</div><div class="line"> STDERR.puts "Error reached top of thread-pool: #{e.message} (#{e.class})" | |
</div><div class="line"> end | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<p><code>Rails.root: /charity-commission-api</code></p> | |
<div id="traces"> | |
<a href="#" onclick="hide('Framework-Trace');hide('Full-Trace');show('Application-Trace');; return false;">Application Trace</a> | | |
<a href="#" onclick="hide('Application-Trace');hide('Full-Trace');show('Framework-Trace');; return false;">Framework Trace</a> | | |
<a href="#" onclick="hide('Application-Trace');hide('Framework-Trace');show('Full-Trace');; return false;">Full Trace</a> | |
<div id="Application-Trace" style="display: block;"> | |
<pre><code><a class="trace-frames" data-frame-id="11" href="#">lib/search_by_field.rb:5:in `block in search'</a><br><a class="trace-frames" data-frame-id="15" href="#">lib/search_by_field.rb:4:in `search'</a><br><a class="trace-frames" data-frame-id="16" href="#">app/controllers/charities_controller.rb:7:in `index'</a><br></code></pre> | |
</div> | |
<div id="Framework-Trace" style="display: none;"> | |
<pre><code><a class="trace-frames" data-frame-id="0" href="#">activerecord (5.1.4) lib/active_record/connection_adapters/abstract/connection_pool.rb:930:in `retrieve_connection'</a><br><a class="trace-frames" data-frame-id="1" href="#">activerecord (5.1.4) lib/active_record/connection_handling.rb:116:in `retrieve_connection'</a><br><a class="trace-frames" data-frame-id="2" href="#">activerecord (5.1.4) lib/active_record/connection_handling.rb:88:in `connection'</a><br><a class="trace-frames" data-frame-id="3" href="#">activerecord (5.1.4) lib/active_record/model_schema.rb:471:in `load_schema!'</a><br><a class="trace-frames" data-frame-id="4" href="#">activerecord (5.1.4) lib/active_record/attributes.rb:233:in `load_schema!'</a><br><a class="trace-frames" data-frame-id="5" href="#">activerecord (5.1.4) lib/active_record/attribute_decorators.rb:50:in `load_schema!'</a><br><a class="trace-frames" data-frame-id="6" href="#">activerecord (5.1.4) lib/active_record/model_schema.rb:464:in `block in load_schema'</a><br><a class="trace-frames" data-frame-id="7" href="#">/usr/local/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'</a><br><a class="trace-frames" data-frame-id="8" href="#">activerecord (5.1.4) lib/active_record/model_schema.rb:461:in `load_schema'</a><br><a class="trace-frames" data-frame-id="9" href="#">activerecord (5.1.4) lib/active_record/model_schema.rb:348:in `columns'</a><br><a class="trace-frames" data-frame-id="10" href="#">activerecord (5.1.4) lib/active_record/model_schema.rb:393:in `column_names'</a><br><a class="trace-frames" data-frame-id="12" href="#">actionpack (5.1.4) lib/action_controller/metal/strong_parameters.rb:332:in `block in each_pair'</a><br><a class="trace-frames" data-frame-id="13" href="#">actionpack (5.1.4) lib/action_controller/metal/strong_parameters.rb:331:in `each_pair'</a><br><a class="trace-frames" data-frame-id="14" href="#">actionpack (5.1.4) lib/action_controller/metal/strong_parameters.rb:331:in `each_pair'</a><br><a class="trace-frames" data-frame-id="17" href="#">actionpack (5.1.4) lib/action_controller/metal/basic_implicit_render.rb:4:in `send_action'</a><br><a class="trace-frames" data-frame-id="18" href="#">actionpack (5.1.4) lib/abstract_controller/base.rb:186:in `process_action'</a><br><a class="trace-frames" data-frame-id="19" href="#">actionpack (5.1.4) lib/action_controller/metal/rendering.rb:30:in `process_action'</a><br><a class="trace-frames" data-frame-id="20" href="#">actionpack (5.1.4) lib/abstract_controller/callbacks.rb:20:in `block in process_action'</a><br><a class="trace-frames" data-frame-id="21" href="#">activesupport (5.1.4) lib/active_support/callbacks.rb:131:in `run_callbacks'</a><br><a class="trace-frames" data-frame-id="22" href="#">actionpack (5.1.4) lib/abstract_controller/callbacks.rb:19:in `process_action'</a><br><a class="trace-frames" data-frame-id="23" href="#">actionpack (5.1.4) lib/action_controller/metal/rescue.rb:20:in `process_action'</a><br><a class="trace-frames" data-frame-id="24" href="#">actionpack (5.1.4) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'</a><br><a class="trace-frames" data-frame-id="25" href="#">activesupport (5.1.4) lib/active_support/notifications.rb:166:in `block in instrument'</a><br><a class="trace-frames" data-frame-id="26" href="#">activesupport (5.1.4) lib/active_support/notifications/instrumenter.rb:21:in `instrument'</a><br><a class="trace-frames" data-frame-id="27" href="#">activesupport (5.1.4) lib/active_support/notifications.rb:166:in `instrument'</a><br><a class="trace-frames" data-frame-id="28" href="#">actionpack (5.1.4) lib/action_controller/metal/instrumentation.rb:30:in `process_action'</a><br><a class="trace-frames" data-frame-id="29" href="#">actionpack (5.1.4) lib/action_controller/metal/params_wrapper.rb:252:in `process_action'</a><br><a class="trace-frames" data-frame-id="30" href="#">activerecord (5.1.4) lib/active_record/railties/controller_runtime.rb:22:in `process_action'</a><br><a class="trace-frames" data-frame-id="31" href="#">actionpack (5.1.4) lib/abstract_controller/base.rb:124:in `process'</a><br><a class="trace-frames" data-frame-id="32" href="#">actionview (5.1.4) lib/action_view/rendering.rb:30:in `process'</a><br><a class="trace-frames" data-frame-id="33" href="#">actionpack (5.1.4) lib/action_controller/metal.rb:189:in `dispatch'</a><br><a class="trace-frames" data-frame-id="34" href="#">actionpack (5.1.4) lib/action_controller/metal.rb:253:in `dispatch'</a><br><a class="trace-frames" data-frame-id="35" href="#">actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'</a><br><a class="trace-frames" data-frame-id="36" href="#">actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:31:in `serve'</a><br><a class="trace-frames" data-frame-id="37" href="#">actionpack (5.1.4) lib/action_dispatch/journey/router.rb:50:in `block in serve'</a><br><a class="trace-frames" data-frame-id="38" href="#">actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `each'</a><br><a class="trace-frames" data-frame-id="39" href="#">actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `serve'</a><br><a class="trace-frames" data-frame-id="40" href="#">actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:834:in `call'</a><br><a class="trace-frames" data-frame-id="41" href="#">rack (2.0.3) lib/rack/etag.rb:25:in `call'</a><br><a class="trace-frames" data-frame-id="42" href="#">rack (2.0.3) lib/rack/conditional_get.rb:25:in `call'</a><br><a class="trace-frames" data-frame-id="43" href="#">rack (2.0.3) lib/rack/head.rb:12:in `call'</a><br><a class="trace-frames" data-frame-id="44" href="#">rack (2.0.3) lib/rack/session/abstract/id.rb:232:in `context'</a><br><a class="trace-frames" data-frame-id="45" href="#">rack (2.0.3) lib/rack/session/abstract/id.rb:226:in `call'</a><br><a class="trace-frames" data-frame-id="46" href="#">actionpack (5.1.4) lib/action_dispatch/middleware/cookies.rb:613:in `call'</a><br><a class="trace-frames" data-frame-id="47" href="#">activerecord (5.1.4) lib/active_record/migration.rb:556:in `call'</a><br><a class="trace-frames" data-frame-id="48" href="#">actionpack (5.1.4) lib/action_dispatch/middleware/callbacks.rb:26:in `block in call'</a><br><a class="trace-frames" data-frame-id="49" href="#">activesupport (5.1.4) lib/active_support/callbacks.rb:97:in `run_callbacks'</a><br><a class="trace-frames" data-frame-id="50" href="#">actionpack (5.1.4) lib/action_dispatch/middleware/callbacks.rb:24:in `call'</a><br><a class="trace-frames" data-frame-id="51" href="#">actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call'</a><br><a class="trace-frames" data-frame-id="52" href="#">actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:59:in `call'</a><br><a class="trace-frames" data-frame-id="53" href="#">web-console (3.5.1) lib/web_console/middleware.rb:135:in `call_app'</a><br><a class="trace-frames" data-frame-id="54" href="#">web-console (3.5.1) lib/web_console/middleware.rb:20:in `block in call'</a><br><a class="trace-frames" data-frame-id="55" href="#">web-console (3.5.1) lib/web_console/middleware.rb:18:in `catch'</a><br><a class="trace-frames" data-frame-id="56" href="#">web-console (3.5.1) lib/web_console/middleware.rb:18:in `call'</a><br><a class="trace-frames" data-frame-id="57" href="#">actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'</a><br><a class="trace-frames" data-frame-id="58" href="#">railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app'</a><br><a class="trace-frames" data-frame-id="59" href="#">railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call'</a><br><a class="trace-frames" data-frame-id="60" href="#">activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged'</a><br><a class="trace-frames" data-frame-id="61" href="#">activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged'</a><br><a class="trace-frames" data-frame-id="62" href="#">activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged'</a><br><a class="trace-frames" data-frame-id="63" href="#">railties (5.1.4) lib/rails/rack/logger.rb:24:in `call'</a><br><a class="trace-frames" data-frame-id="64" href="#">sprockets-rails (3.2.1) lib/sprockets/rails/quiet_assets.rb:13:in `call'</a><br><a class="trace-frames" data-frame-id="65" href="#">actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call'</a><br><a class="trace-frames" data-frame-id="66" href="#">actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call'</a><br><a class="trace-frames" data-frame-id="67" href="#">rack (2.0.3) lib/rack/method_override.rb:22:in `call'</a><br><a class="trace-frames" data-frame-id="68" href="#">rack (2.0.3) lib/rack/runtime.rb:22:in `call'</a><br><a class="trace-frames" data-frame-id="69" href="#">activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call'</a><br><a class="trace-frames" data-frame-id="70" href="#">actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call'</a><br><a class="trace-frames" data-frame-id="71" href="#">actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call'</a><br><a class="trace-frames" data-frame-id="72" href="#">rack (2.0.3) lib/rack/sendfile.rb:111:in `call'</a><br><a class="trace-frames" data-frame-id="73" href="#">railties (5.1.4) lib/rails/engine.rb:522:in `call'</a><br><a class="trace-frames" data-frame-id="74" href="#">puma (3.10.0) lib/puma/configuration.rb:225:in `call'</a><br><a class="trace-frames" data-frame-id="75" href="#">puma (3.10.0) lib/puma/server.rb:605:in `handle_request'</a><br><a class="trace-frames" data-frame-id="76" href="#">puma (3.10.0) lib/puma/server.rb:437:in `process_client'</a><br><a class="trace-frames" data-frame-id="77" href="#">puma (3.10.0) lib/puma/server.rb:301:in `block in run'</a><br><a class="trace-frames" data-frame-id="78" href="#">puma (3.10.0) lib/puma/thread_pool.rb:120:in `block in spawn_thread'</a><br></code></pre> | |
</div> | |
<div id="Full-Trace" style="display: none;"> | |
<pre><code><a class="trace-frames" data-frame-id="0" href="#">activerecord (5.1.4) lib/active_record/connection_adapters/abstract/connection_pool.rb:930:in `retrieve_connection'</a><br><a class="trace-frames" data-frame-id="1" href="#">activerecord (5.1.4) lib/active_record/connection_handling.rb:116:in `retrieve_connection'</a><br><a class="trace-frames" data-frame-id="2" href="#">activerecord (5.1.4) lib/active_record/connection_handling.rb:88:in `connection'</a><br><a class="trace-frames" data-frame-id="3" href="#">activerecord (5.1.4) lib/active_record/model_schema.rb:471:in `load_schema!'</a><br><a class="trace-frames" data-frame-id="4" href="#">activerecord (5.1.4) lib/active_record/attributes.rb:233:in `load_schema!'</a><br><a class="trace-frames" data-frame-id="5" href="#">activerecord (5.1.4) lib/active_record/attribute_decorators.rb:50:in `load_schema!'</a><br><a class="trace-frames" data-frame-id="6" href="#">activerecord (5.1.4) lib/active_record/model_schema.rb:464:in `block in load_schema'</a><br><a class="trace-frames" data-frame-id="7" href="#">/usr/local/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'</a><br><a class="trace-frames" data-frame-id="8" href="#">activerecord (5.1.4) lib/active_record/model_schema.rb:461:in `load_schema'</a><br><a class="trace-frames" data-frame-id="9" href="#">activerecord (5.1.4) lib/active_record/model_schema.rb:348:in `columns'</a><br><a class="trace-frames" data-frame-id="10" href="#">activerecord (5.1.4) lib/active_record/model_schema.rb:393:in `column_names'</a><br><a class="trace-frames" data-frame-id="11" href="#">lib/search_by_field.rb:5:in `block in search'</a><br><a class="trace-frames" data-frame-id="12" href="#">actionpack (5.1.4) lib/action_controller/metal/strong_parameters.rb:332:in `block in each_pair'</a><br><a class="trace-frames" data-frame-id="13" href="#">actionpack (5.1.4) lib/action_controller/metal/strong_parameters.rb:331:in `each_pair'</a><br><a class="trace-frames" data-frame-id="14" href="#">actionpack (5.1.4) lib/action_controller/metal/strong_parameters.rb:331:in `each_pair'</a><br><a class="trace-frames" data-frame-id="15" href="#">lib/search_by_field.rb:4:in `search'</a><br><a class="trace-frames" data-frame-id="16" href="#">app/controllers/charities_controller.rb:7:in `index'</a><br><a class="trace-frames" data-frame-id="17" href="#">actionpack (5.1.4) lib/action_controller/metal/basic_implicit_render.rb:4:in `send_action'</a><br><a class="trace-frames" data-frame-id="18" href="#">actionpack (5.1.4) lib/abstract_controller/base.rb:186:in `process_action'</a><br><a class="trace-frames" data-frame-id="19" href="#">actionpack (5.1.4) lib/action_controller/metal/rendering.rb:30:in `process_action'</a><br><a class="trace-frames" data-frame-id="20" href="#">actionpack (5.1.4) lib/abstract_controller/callbacks.rb:20:in `block in process_action'</a><br><a class="trace-frames" data-frame-id="21" href="#">activesupport (5.1.4) lib/active_support/callbacks.rb:131:in `run_callbacks'</a><br><a class="trace-frames" data-frame-id="22" href="#">actionpack (5.1.4) lib/abstract_controller/callbacks.rb:19:in `process_action'</a><br><a class="trace-frames" data-frame-id="23" href="#">actionpack (5.1.4) lib/action_controller/metal/rescue.rb:20:in `process_action'</a><br><a class="trace-frames" data-frame-id="24" href="#">actionpack (5.1.4) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'</a><br><a class="trace-frames" data-frame-id="25" href="#">activesupport (5.1.4) lib/active_support/notifications.rb:166:in `block in instrument'</a><br><a class="trace-frames" data-frame-id="26" href="#">activesupport (5.1.4) lib/active_support/notifications/instrumenter.rb:21:in `instrument'</a><br><a class="trace-frames" data-frame-id="27" href="#">activesupport (5.1.4) lib/active_support/notifications.rb:166:in `instrument'</a><br><a class="trace-frames" data-frame-id="28" href="#">actionpack (5.1.4) lib/action_controller/metal/instrumentation.rb:30:in `process_action'</a><br><a class="trace-frames" data-frame-id="29" href="#">actionpack (5.1.4) lib/action_controller/metal/params_wrapper.rb:252:in `process_action'</a><br><a class="trace-frames" data-frame-id="30" href="#">activerecord (5.1.4) lib/active_record/railties/controller_runtime.rb:22:in `process_action'</a><br><a class="trace-frames" data-frame-id="31" href="#">actionpack (5.1.4) lib/abstract_controller/base.rb:124:in `process'</a><br><a class="trace-frames" data-frame-id="32" href="#">actionview (5.1.4) lib/action_view/rendering.rb:30:in `process'</a><br><a class="trace-frames" data-frame-id="33" href="#">actionpack (5.1.4) lib/action_controller/metal.rb:189:in `dispatch'</a><br><a class="trace-frames" data-frame-id="34" href="#">actionpack (5.1.4) lib/action_controller/metal.rb:253:in `dispatch'</a><br><a class="trace-frames" data-frame-id="35" href="#">actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'</a><br><a class="trace-frames" data-frame-id="36" href="#">actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:31:in `serve'</a><br><a class="trace-frames" data-frame-id="37" href="#">actionpack (5.1.4) lib/action_dispatch/journey/router.rb:50:in `block in serve'</a><br><a class="trace-frames" data-frame-id="38" href="#">actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `each'</a><br><a class="trace-frames" data-frame-id="39" href="#">actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `serve'</a><br><a class="trace-frames" data-frame-id="40" href="#">actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:834:in `call'</a><br><a class="trace-frames" data-frame-id="41" href="#">rack (2.0.3) lib/rack/etag.rb:25:in `call'</a><br><a class="trace-frames" data-frame-id="42" href="#">rack (2.0.3) lib/rack/conditional_get.rb:25:in `call'</a><br><a class="trace-frames" data-frame-id="43" href="#">rack (2.0.3) lib/rack/head.rb:12:in `call'</a><br><a class="trace-frames" data-frame-id="44" href="#">rack (2.0.3) lib/rack/session/abstract/id.rb:232:in `context'</a><br><a class="trace-frames" data-frame-id="45" href="#">rack (2.0.3) lib/rack/session/abstract/id.rb:226:in `call'</a><br><a class="trace-frames" data-frame-id="46" href="#">actionpack (5.1.4) lib/action_dispatch/middleware/cookies.rb:613:in `call'</a><br><a class="trace-frames" data-frame-id="47" href="#">activerecord (5.1.4) lib/active_record/migration.rb:556:in `call'</a><br><a class="trace-frames" data-frame-id="48" href="#">actionpack (5.1.4) lib/action_dispatch/middleware/callbacks.rb:26:in `block in call'</a><br><a class="trace-frames" data-frame-id="49" href="#">activesupport (5.1.4) lib/active_support/callbacks.rb:97:in `run_callbacks'</a><br><a class="trace-frames" data-frame-id="50" href="#">actionpack (5.1.4) lib/action_dispatch/middleware/callbacks.rb:24:in `call'</a><br><a class="trace-frames" data-frame-id="51" href="#">actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call'</a><br><a class="trace-frames" data-frame-id="52" href="#">actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:59:in `call'</a><br><a class="trace-frames" data-frame-id="53" href="#">web-console (3.5.1) lib/web_console/middleware.rb:135:in `call_app'</a><br><a class="trace-frames" data-frame-id="54" href="#">web-console (3.5.1) lib/web_console/middleware.rb:20:in `block in call'</a><br><a class="trace-frames" data-frame-id="55" href="#">web-console (3.5.1) lib/web_console/middleware.rb:18:in `catch'</a><br><a class="trace-frames" data-frame-id="56" href="#">web-console (3.5.1) lib/web_console/middleware.rb:18:in `call'</a><br><a class="trace-frames" data-frame-id="57" href="#">actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'</a><br><a class="trace-frames" data-frame-id="58" href="#">railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app'</a><br><a class="trace-frames" data-frame-id="59" href="#">railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call'</a><br><a class="trace-frames" data-frame-id="60" href="#">activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged'</a><br><a class="trace-frames" data-frame-id="61" href="#">activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged'</a><br><a class="trace-frames" data-frame-id="62" href="#">activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged'</a><br><a class="trace-frames" data-frame-id="63" href="#">railties (5.1.4) lib/rails/rack/logger.rb:24:in `call'</a><br><a class="trace-frames" data-frame-id="64" href="#">sprockets-rails (3.2.1) lib/sprockets/rails/quiet_assets.rb:13:in `call'</a><br><a class="trace-frames" data-frame-id="65" href="#">actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call'</a><br><a class="trace-frames" data-frame-id="66" href="#">actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call'</a><br><a class="trace-frames" data-frame-id="67" href="#">rack (2.0.3) lib/rack/method_override.rb:22:in `call'</a><br><a class="trace-frames" data-frame-id="68" href="#">rack (2.0.3) lib/rack/runtime.rb:22:in `call'</a><br><a class="trace-frames" data-frame-id="69" href="#">activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call'</a><br><a class="trace-frames" data-frame-id="70" href="#">actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call'</a><br><a class="trace-frames" data-frame-id="71" href="#">actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call'</a><br><a class="trace-frames" data-frame-id="72" href="#">rack (2.0.3) lib/rack/sendfile.rb:111:in `call'</a><br><a class="trace-frames" data-frame-id="73" href="#">railties (5.1.4) lib/rails/engine.rb:522:in `call'</a><br><a class="trace-frames" data-frame-id="74" href="#">puma (3.10.0) lib/puma/configuration.rb:225:in `call'</a><br><a class="trace-frames" data-frame-id="75" href="#">puma (3.10.0) lib/puma/server.rb:605:in `handle_request'</a><br><a class="trace-frames" data-frame-id="76" href="#">puma (3.10.0) lib/puma/server.rb:437:in `process_client'</a><br><a class="trace-frames" data-frame-id="77" href="#">puma (3.10.0) lib/puma/server.rb:301:in `block in run'</a><br><a class="trace-frames" data-frame-id="78" href="#">puma (3.10.0) lib/puma/thread_pool.rb:120:in `block in spawn_thread'</a><br></code></pre> | |
</div> | |
<script type="text/javascript"> | |
var traceFrames = document.getElementsByClassName('trace-frames'); | |
var selectedFrame, currentSource = document.getElementById('frame-source-0'); | |
// Add click listeners for all stack frames | |
for (var i = 0; i < traceFrames.length; i++) { | |
traceFrames[i].addEventListener('click', function(e) { | |
e.preventDefault(); | |
var target = e.target; | |
var frame_id = target.dataset.frameId; | |
if (selectedFrame) { | |
selectedFrame.className = selectedFrame.className.replace("selected", ""); | |
} | |
target.className += " selected"; | |
selectedFrame = target; | |
// Change the extracted source code | |
changeSourceExtract(frame_id); | |
}); | |
function changeSourceExtract(frame_id) { | |
var el = document.getElementById('frame-source-' + frame_id); | |
if (currentSource && el) { | |
currentSource.className += " hidden"; | |
el.className = el.className.replace(" hidden", ""); | |
currentSource = el; | |
} | |
} | |
} | |
</script> | |
</div> | |
<h2 style="margin-top: 30px">Request</h2> | |
<p><b>Parameters</b>:</p> <pre>{"postcode"=>"HA2", "format"=>"json"} | |
</pre> | |
<div class="details"> | |
<div class="summary"><a href="#" onclick="return toggleSessionDump()">Toggle session dump</a></div> | |
<div id="session_dump" style="display:none"><pre></pre></div> | |
</div> | |
<div class="details"> | |
<div class="summary"><a href="#" onclick="return toggleEnvDump()">Toggle env dump</a></div> | |
<div id="env_dump" style="display:none"><pre>GATEWAY_INTERFACE: "CGI/1.2" | |
HTTP_ACCEPT: "*/*" | |
HTTP_ACCEPT_ENCODING: "gzip;q=1.0,deflate;q=0.6,identity;q=0.3" | |
HTTP_VERSION: "HTTP/1.1" | |
HTTP_X_FORWARDED_FOR: "191.191.73.91" | |
ORIGINAL_SCRIPT_NAME: "" | |
REMOTE_ADDR: "172.17.0.1" | |
SERVER_NAME: "production.charity-api.agileventures.org" | |
SERVER_PROTOCOL: "HTTP/1.1"</pre></div> | |
</div> | |
<h2 style="margin-top: 30px">Response</h2> | |
<p><b>Headers</b>:</p> <pre>None</pre> | |
</div> | |
</body> | |
</html> | |
' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment