Created
July 6, 2017 11:20
-
-
Save jraczak/d8aab28bf0a670c1f6c8a49bf0dadf45 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
HTTP/1.1 500 Internal Server Error | |
Content-Length: 82855 | |
Content-Type: text/html; charset=UTF-8 | |
X-Request-Id: ffe0fea9-0a91-455c-9078-eab259e8d8be | |
X-Runtime: 0.324780 | |
<!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> | |
ArgumentError | |
in DeviseTokenAuth::RegistrationsController#create | |
</h1> | |
</header> | |
<div id="container"> | |
<h2>wrong number of arguments (given 0, expected 1)</h2> | |
<div class="source " id="frame-source-0"> | |
<div class="info"> | |
Extracted source (around line <strong>#164</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>162</span> | |
<span>163</span> | |
<span>164</span> | |
<span>165</span> | |
<span>166</span> | |
<span>167</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> # See https://github.com/plataformatec/devise-encryptable for examples | |
</div><div class="line"> # of other hashing engines. | |
</div><div class="line active"> def password_digest(password) | |
</div><div class="line"> Devise::Encryptor.digest(self.class, password) | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-1"> | |
<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"> hash = {} | |
</div><div class="line active"> attribute_names.each { |n| hash[n] = read_attribute_for_serialization(n) } | |
</div><div class="line"> | |
</div><div class="line"> Array(options[:methods]).each { |m| hash[m.to_s] = send(m) } | |
</div><div class="line"> | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-2"> | |
<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"> hash = {} | |
</div><div class="line active"> attribute_names.each { |n| hash[n] = read_attribute_for_serialization(n) } | |
</div><div class="line"> | |
</div><div class="line"> Array(options[:methods]).each { |m| hash[m.to_s] = send(m) } | |
</div><div class="line"> | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-3"> | |
<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"> hash = {} | |
</div><div class="line active"> attribute_names.each { |n| hash[n] = read_attribute_for_serialization(n) } | |
</div><div class="line"> | |
</div><div class="line"> Array(options[:methods]).each { |m| hash[m.to_s] = send(m) } | |
</div><div class="line"> | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-4"> | |
<div class="info"> | |
Extracted source (around line <strong>#17</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>15</span> | |
<span>16</span> | |
<span>17</span> | |
<span>18</span> | |
<span>19</span> | |
<span>20</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> options[:except] |= Array(self.class.inheritance_column) | |
</div><div class="line"> | |
</div><div class="line active"> super(options) | |
</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-5"> | |
<div class="info"> | |
Extracted source (around line <strong>#114</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>112</span> | |
<span>113</span> | |
<span>114</span> | |
<span>115</span> | |
<span>116</span> | |
<span>117</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> end | |
</div><div class="line"> | |
</div><div class="line active"> super(options) | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div><div class="line"> # Redefine inspect using serializable_hash, to ensure we don't accidentally | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-6"> | |
<div class="info"> | |
Extracted source (around line <strong>#99</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>97</span> | |
<span>98</span> | |
<span>99</span> | |
<span>100</span> | |
<span>101</span> | |
<span>102</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> { root => serializable_hash(options) } | |
</div><div class="line"> else | |
</div><div class="line active"> serializable_hash(options) | |
</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-7"> | |
<div class="info"> | |
Extracted source (around line <strong>#6</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>4</span> | |
<span>5</span> | |
<span>6</span> | |
<span>7</span> | |
<span>8</span> | |
<span>9</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> | |
</div><div class="line"> def resource_data(opts={}) | |
</div><div class="line active"> response_data = opts[:resource_json] || @resource.as_json | |
</div><div class="line"> if is_json_api | |
</div><div class="line"> response_data['type'] = @resource.class.name.parameterize | |
</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>#113</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>111</span> | |
<span>112</span> | |
<span>113</span> | |
<span>114</span> | |
<span>115</span> | |
<span>116</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> render json: { | |
</div><div class="line"> status: 'error', | |
</div><div class="line active"> data: resource_data, | |
</div><div class="line"> errors: [I18n.t("devise_token_auth.registrations.missing_confirm_success_url")] | |
</div><div class="line"> }, status: 422 | |
</div><div class="line"> end | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-9"> | |
<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"> # success redirect url is required | |
</div><div class="line"> if resource_class.devise_modules.include?(:confirmable) && !@redirect_url | |
</div><div class="line active"> return render_create_error_missing_confirm_success_url | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div><div class="line"> # if whitelist is set, validate redirect_url against whitelist | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-10"> | |
<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-11"> | |
<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-12"> | |
<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-13"> | |
<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-14"> | |
<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-15"> | |
<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-16"> | |
<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-17"> | |
<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-18"> | |
<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-19"> | |
<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-20"> | |
<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-21"> | |
<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-22"> | |
<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-23"> | |
<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-24"> | |
<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-25"> | |
<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-26"> | |
<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-27"> | |
<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-28"> | |
<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-29"> | |
<div class="info"> | |
Extracted source (around line <strong>#16</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>14</span> | |
<span>15</span> | |
<span>16</span> | |
<span>17</span> | |
<span>18</span> | |
<span>19</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> attr_reader :app, :constraints | |
</div><div class="line"> | |
</div><div class="line active"> SERVE = ->(app, req) { app.serve req } | |
</div><div class="line"> CALL = ->(app, req) { app.call req.env } | |
</div><div class="line"> | |
</div><div class="line"> def initialize(app, constraints, strategy) | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-30"> | |
<div class="info"> | |
Extracted source (around line <strong>#46</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>44</span> | |
<span>45</span> | |
<span>46</span> | |
<span>47</span> | |
<span>48</span> | |
<span>49</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> return [ 404, { "X-Cascade" => "pass" }, [] ] unless matches?(req) | |
</div><div class="line"> | |
</div><div class="line active"> @strategy.call @app, req | |
</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-31"> | |
<div class="info"> | |
Extracted source (around line <strong>#46</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>44</span> | |
<span>45</span> | |
<span>46</span> | |
<span>47</span> | |
<span>48</span> | |
<span>49</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-32"> | |
<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-33"> | |
<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-34"> | |
<div class="info"> | |
Extracted source (around line <strong>#832</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>830</span> | |
<span>831</span> | |
<span>832</span> | |
<span>833</span> | |
<span>834</span> | |
<span>835</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-35"> | |
<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"> env['warden'] = Proxy.new(env, self) | |
</div><div class="line"> result = catch(:warden) do | |
</div><div class="line active"> @app.call(env) | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div><div class="line"> result ||= {} | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-36"> | |
<div class="info"> | |
Extracted source (around line <strong>#35</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>33</span> | |
<span>34</span> | |
<span>35</span> | |
<span>36</span> | |
<span>37</span> | |
<span>38</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> | |
</div><div class="line"> env['warden'] = Proxy.new(env, self) | |
</div><div class="line active"> result = catch(:warden) do | |
</div><div class="line"> @app.call(env) | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-37"> | |
<div class="info"> | |
Extracted source (around line <strong>#35</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>33</span> | |
<span>34</span> | |
<span>35</span> | |
<span>36</span> | |
<span>37</span> | |
<span>38</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> | |
</div><div class="line"> env['warden'] = Proxy.new(env, self) | |
</div><div class="line active"> result = catch(:warden) do | |
</div><div class="line"> @app.call(env) | |
</div><div class="line"> end | |
</div><div class="line"> | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-38"> | |
<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-39"> | |
<div class="info"> | |
Extracted source (around line <strong>#38</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>36</span> | |
<span>37</span> | |
<span>38</span> | |
<span>39</span> | |
<span>40</span> | |
<span>41</span> | |
</pre> | |
</td> | |
<td width="100%"> | |
<pre> | |
<div class="line"> [status, headers, body] | |
</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"> | |
</div> | |
</pre> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="source hidden" id="frame-source-40"> | |
<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-41"> | |
<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-42"> | |
<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-43"> | |
<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-44"> | |
<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-45"> | |
<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-46"> | |
<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-47"> | |
<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-48"> | |
<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-49"> | |
<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-50"> | |
<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-51"> | |
<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-52"> | |
<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-53"> | |
<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-54"> | |
<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-55"> | |
<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-56"> | |
<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-57"> | |
<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-58"> | |
<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-59"> | |
<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-60"> | |
<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-61"> | |
<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-62"> | |
<div class="info"> | |
Extracted source (around line <strong>#224</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>222</span> | |
<span>223</span> | |
<span>224</span> | |
<span>225</span> | |
<span>226</span> | |
<span>227</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-63"> | |
<div class="info"> | |
Extracted source (around line <strong>#602</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>600</span> | |
<span>601</span> | |
<span>602</span> | |
<span>603</span> | |
<span>604</span> | |
<span>605</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-64"> | |
<div class="info"> | |
Extracted source (around line <strong>#435</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>433</span> | |
<span>434</span> | |
<span>435</span> | |
<span>436</span> | |
<span>437</span> | |
<span>438</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-65"> | |
<div class="info"> | |
Extracted source (around line <strong>#299</strong>): | |
</div> | |
<div class="data"> | |
<table cellpadding="0" cellspacing="0" class="lines"> | |
<tr> | |
<td> | |
<pre class="line_numbers"> | |
<span>297</span> | |
<span>298</span> | |
<span>299</span> | |
<span>300</span> | |
<span>301</span> | |
<span>302</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-66"> | |
<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: /Users/justin/Development/flow-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: none;"> | |
<pre><code></code></pre> | |
</div> | |
<div id="Framework-Trace" style="display: none;"> | |
<pre><code><a class="trace-frames" data-frame-id="0" href="#">devise (4.3.0) lib/devise/models/database_authenticatable.rb:164:in `password_digest'</a><br><a class="trace-frames" data-frame-id="1" href="#">activemodel (5.1.1) lib/active_model/serialization.rb:135:in `block in serializable_hash'</a><br><a class="trace-frames" data-frame-id="2" href="#">activemodel (5.1.1) lib/active_model/serialization.rb:135:in `each'</a><br><a class="trace-frames" data-frame-id="3" href="#">activemodel (5.1.1) lib/active_model/serialization.rb:135:in `serializable_hash'</a><br><a class="trace-frames" data-frame-id="4" href="#">activerecord (5.1.1) lib/active_record/serialization.rb:17:in `serializable_hash'</a><br><a class="trace-frames" data-frame-id="5" href="#">devise (4.3.0) lib/devise/models/authenticatable.rb:114:in `serializable_hash'</a><br><a class="trace-frames" data-frame-id="6" href="#">activemodel (5.1.1) lib/active_model/serializers/json.rb:99:in `as_json'</a><br><a class="trace-frames" data-frame-id="7" href="#">devise_token_auth (0.1.42) app/controllers/devise_token_auth/application_controller.rb:6:in `resource_data'</a><br><a class="trace-frames" data-frame-id="8" href="#">devise_token_auth (0.1.42) app/controllers/devise_token_auth/registrations_controller.rb:113:in `render_create_error_missing_confirm_success_url'</a><br><a class="trace-frames" data-frame-id="9" href="#">devise_token_auth (0.1.42) app/controllers/devise_token_auth/registrations_controller.rb:27:in `create'</a><br><a class="trace-frames" data-frame-id="10" href="#">actionpack (5.1.1) lib/action_controller/metal/basic_implicit_render.rb:4:in `send_action'</a><br><a class="trace-frames" data-frame-id="11" href="#">actionpack (5.1.1) lib/abstract_controller/base.rb:186:in `process_action'</a><br><a class="trace-frames" data-frame-id="12" href="#">actionpack (5.1.1) lib/action_controller/metal/rendering.rb:30:in `process_action'</a><br><a class="trace-frames" data-frame-id="13" href="#">actionpack (5.1.1) lib/abstract_controller/callbacks.rb:20:in `block in process_action'</a><br><a class="trace-frames" data-frame-id="14" href="#">activesupport (5.1.1) lib/active_support/callbacks.rb:131:in `run_callbacks'</a><br><a class="trace-frames" data-frame-id="15" href="#">actionpack (5.1.1) lib/abstract_controller/callbacks.rb:19:in `process_action'</a><br><a class="trace-frames" data-frame-id="16" href="#">actionpack (5.1.1) lib/action_controller/metal/rescue.rb:20:in `process_action'</a><br><a class="trace-frames" data-frame-id="17" href="#">actionpack (5.1.1) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'</a><br><a class="trace-frames" data-frame-id="18" href="#">activesupport (5.1.1) lib/active_support/notifications.rb:166:in `block in instrument'</a><br><a class="trace-frames" data-frame-id="19" href="#">activesupport (5.1.1) lib/active_support/notifications/instrumenter.rb:21:in `instrument'</a><br><a class="trace-frames" data-frame-id="20" href="#">activesupport (5.1.1) lib/active_support/notifications.rb:166:in `instrument'</a><br><a class="trace-frames" data-frame-id="21" href="#">actionpack (5.1.1) lib/action_controller/metal/instrumentation.rb:30:in `process_action'</a><br><a class="trace-frames" data-frame-id="22" href="#">actionpack (5.1.1) lib/action_controller/metal/params_wrapper.rb:252:in `process_action'</a><br><a class="trace-frames" data-frame-id="23" href="#">activerecord (5.1.1) lib/active_record/railties/controller_runtime.rb:22:in `process_action'</a><br><a class="trace-frames" data-frame-id="24" href="#">actionpack (5.1.1) lib/abstract_controller/base.rb:124:in `process'</a><br><a class="trace-frames" data-frame-id="25" href="#">actionpack (5.1.1) lib/action_controller/metal.rb:189:in `dispatch'</a><br><a class="trace-frames" data-frame-id="26" href="#">actionpack (5.1.1) lib/action_controller/metal.rb:253:in `dispatch'</a><br><a class="trace-frames" data-frame-id="27" href="#">actionpack (5.1.1) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'</a><br><a class="trace-frames" data-frame-id="28" href="#">actionpack (5.1.1) lib/action_dispatch/routing/route_set.rb:31:in `serve'</a><br><a class="trace-frames" data-frame-id="29" href="#">actionpack (5.1.1) lib/action_dispatch/routing/mapper.rb:16:in `block in <class:Constraints>'</a><br><a class="trace-frames" data-frame-id="30" href="#">actionpack (5.1.1) lib/action_dispatch/routing/mapper.rb:46:in `serve'</a><br><a class="trace-frames" data-frame-id="31" href="#">actionpack (5.1.1) lib/action_dispatch/journey/router.rb:46:in `block in serve'</a><br><a class="trace-frames" data-frame-id="32" href="#">actionpack (5.1.1) lib/action_dispatch/journey/router.rb:33:in `each'</a><br><a class="trace-frames" data-frame-id="33" href="#">actionpack (5.1.1) lib/action_dispatch/journey/router.rb:33:in `serve'</a><br><a class="trace-frames" data-frame-id="34" href="#">actionpack (5.1.1) lib/action_dispatch/routing/route_set.rb:832:in `call'</a><br><a class="trace-frames" data-frame-id="35" href="#">warden (1.2.7) lib/warden/manager.rb:36:in `block in call'</a><br><a class="trace-frames" data-frame-id="36" href="#">warden (1.2.7) lib/warden/manager.rb:35:in `catch'</a><br><a class="trace-frames" data-frame-id="37" href="#">warden (1.2.7) lib/warden/manager.rb:35:in `call'</a><br><a class="trace-frames" data-frame-id="38" href="#">rack (2.0.3) lib/rack/etag.rb:25:in `call'</a><br><a class="trace-frames" data-frame-id="39" href="#">rack (2.0.3) lib/rack/conditional_get.rb:38:in `call'</a><br><a class="trace-frames" data-frame-id="40" href="#">rack (2.0.3) lib/rack/head.rb:12:in `call'</a><br><a class="trace-frames" data-frame-id="41" href="#">activerecord (5.1.1) lib/active_record/migration.rb:556:in `call'</a><br><a class="trace-frames" data-frame-id="42" href="#">actionpack (5.1.1) lib/action_dispatch/middleware/callbacks.rb:26:in `block in call'</a><br><a class="trace-frames" data-frame-id="43" href="#">activesupport (5.1.1) lib/active_support/callbacks.rb:97:in `run_callbacks'</a><br><a class="trace-frames" data-frame-id="44" href="#">actionpack (5.1.1) lib/action_dispatch/middleware/callbacks.rb:24:in `call'</a><br><a class="trace-frames" data-frame-id="45" href="#">actionpack (5.1.1) lib/action_dispatch/middleware/executor.rb:12:in `call'</a><br><a class="trace-frames" data-frame-id="46" href="#">actionpack (5.1.1) lib/action_dispatch/middleware/debug_exceptions.rb:59:in `call'</a><br><a class="trace-frames" data-frame-id="47" href="#">actionpack (5.1.1) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'</a><br><a class="trace-frames" data-frame-id="48" href="#">railties (5.1.1) lib/rails/rack/logger.rb:36:in `call_app'</a><br><a class="trace-frames" data-frame-id="49" href="#">railties (5.1.1) lib/rails/rack/logger.rb:24:in `block in call'</a><br><a class="trace-frames" data-frame-id="50" href="#">activesupport (5.1.1) lib/active_support/tagged_logging.rb:69:in `block in tagged'</a><br><a class="trace-frames" data-frame-id="51" href="#">activesupport (5.1.1) lib/active_support/tagged_logging.rb:26:in `tagged'</a><br><a class="trace-frames" data-frame-id="52" href="#">activesupport (5.1.1) lib/active_support/tagged_logging.rb:69:in `tagged'</a><br><a class="trace-frames" data-frame-id="53" href="#">railties (5.1.1) lib/rails/rack/logger.rb:24:in `call'</a><br><a class="trace-frames" data-frame-id="54" href="#">actionpack (5.1.1) lib/action_dispatch/middleware/remote_ip.rb:79:in `call'</a><br><a class="trace-frames" data-frame-id="55" href="#">actionpack (5.1.1) lib/action_dispatch/middleware/request_id.rb:25:in `call'</a><br><a class="trace-frames" data-frame-id="56" href="#">rack (2.0.3) lib/rack/runtime.rb:22:in `call'</a><br><a class="trace-frames" data-frame-id="57" href="#">activesupport (5.1.1) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call'</a><br><a class="trace-frames" data-frame-id="58" href="#">actionpack (5.1.1) lib/action_dispatch/middleware/executor.rb:12:in `call'</a><br><a class="trace-frames" data-frame-id="59" href="#">actionpack (5.1.1) lib/action_dispatch/middleware/static.rb:125:in `call'</a><br><a class="trace-frames" data-frame-id="60" href="#">rack (2.0.3) lib/rack/sendfile.rb:111:in `call'</a><br><a class="trace-frames" data-frame-id="61" href="#">railties (5.1.1) lib/rails/engine.rb:522:in `call'</a><br><a class="trace-frames" data-frame-id="62" href="#">puma (3.9.1) lib/puma/configuration.rb:224:in `call'</a><br><a class="trace-frames" data-frame-id="63" href="#">puma (3.9.1) lib/puma/server.rb:602:in `handle_request'</a><br><a class="trace-frames" data-frame-id="64" href="#">puma (3.9.1) lib/puma/server.rb:435:in `process_client'</a><br><a class="trace-frames" data-frame-id="65" href="#">puma (3.9.1) lib/puma/server.rb:299:in `block in run'</a><br><a class="trace-frames" data-frame-id="66" href="#">puma (3.9.1) lib/puma/thread_pool.rb:120:in `block in spawn_thread'</a><br></code></pre> | |
</div> | |
<div id="Full-Trace" style="display: block;"> | |
<pre><code><a class="trace-frames" data-frame-id="0" href="#">devise (4.3.0) lib/devise/models/database_authenticatable.rb:164:in `password_digest'</a><br><a class="trace-frames" data-frame-id="1" href="#">activemodel (5.1.1) lib/active_model/serialization.rb:135:in `block in serializable_hash'</a><br><a class="trace-frames" data-frame-id="2" href="#">activemodel (5.1.1) lib/active_model/serialization.rb:135:in `each'</a><br><a class="trace-frames" data-frame-id="3" href="#">activemodel (5.1.1) lib/active_model/serialization.rb:135:in `serializable_hash'</a><br><a class="trace-frames" data-frame-id="4" href="#">activerecord (5.1.1) lib/active_record/serialization.rb:17:in `serializable_hash'</a><br><a class="trace-frames" data-frame-id="5" href="#">devise (4.3.0) lib/devise/models/authenticatable.rb:114:in `serializable_hash'</a><br><a class="trace-frames" data-frame-id="6" href="#">activemodel (5.1.1) lib/active_model/serializers/json.rb:99:in `as_json'</a><br><a class="trace-frames" data-frame-id="7" href="#">devise_token_auth (0.1.42) app/controllers/devise_token_auth/application_controller.rb:6:in `resource_data'</a><br><a class="trace-frames" data-frame-id="8" href="#">devise_token_auth (0.1.42) app/controllers/devise_token_auth/registrations_controller.rb:113:in `render_create_error_missing_confirm_success_url'</a><br><a class="trace-frames" data-frame-id="9" href="#">devise_token_auth (0.1.42) app/controllers/devise_token_auth/registrations_controller.rb:27:in `create'</a><br><a class="trace-frames" data-frame-id="10" href="#">actionpack (5.1.1) lib/action_controller/metal/basic_implicit_render.rb:4:in `send_action'</a><br><a class="trace-frames" data-frame-id="11" href="#">actionpack (5.1.1) lib/abstract_controller/base.rb:186:in `process_action'</a><br><a class="trace-frames" data-frame-id="12" href="#">actionpack (5.1.1) lib/action_controller/metal/rendering.rb:30:in `process_action'</a><br><a class="trace-frames" data-frame-id="13" href="#">actionpack (5.1.1) lib/abstract_controller/callbacks.rb:20:in `block in process_action'</a><br><a class="trace-frames" data-frame-id="14" href="#">activesupport (5.1.1) lib/active_support/callbacks.rb:131:in `run_callbacks'</a><br><a class="trace-frames" data-frame-id="15" href="#">actionpack (5.1.1) lib/abstract_controller/callbacks.rb:19:in `process_action'</a><br><a class="trace-frames" data-frame-id="16" href="#">actionpack (5.1.1) lib/action_controller/metal/rescue.rb:20:in `process_action'</a><br><a class="trace-frames" data-frame-id="17" href="#">actionpack (5.1.1) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'</a><br><a class="trace-frames" data-frame-id="18" href="#">activesupport (5.1.1) lib/active_support/notifications.rb:166:in `block in instrument'</a><br><a class="trace-frames" data-frame-id="19" href="#">activesupport (5.1.1) lib/active_support/notifications/instrumenter.rb:21:in `instrument'</a><br><a class="trace-frames" data-frame-id="20" href="#">activesupport (5.1.1) lib/active_support/notifications.rb:166:in `instrument'</a><br><a class="trace-frames" data-frame-id="21" href="#">actionpack (5.1.1) lib/action_controller/metal/instrumentation.rb:30:in `process_action'</a><br><a class="trace-frames" data-frame-id="22" href="#">actionpack (5.1.1) lib/action_controller/metal/params_wrapper.rb:252:in `process_action'</a><br><a class="trace-frames" data-frame-id="23" href="#">activerecord (5.1.1) lib/active_record/railties/controller_runtime.rb:22:in `process_action'</a><br><a class="trace-frames" data-frame-id="24" href="#">actionpack (5.1.1) lib/abstract_controller/base.rb:124:in `process'</a><br><a class="trace-frames" data-frame-id="25" href="#">actionpack (5.1.1) lib/action_controller/metal.rb:189:in `dispatch'</a><br><a class="trace-frames" data-frame-id="26" href="#">actionpack (5.1.1) lib/action_controller/metal.rb:253:in `dispatch'</a><br><a class="trace-frames" data-frame-id="27" href="#">actionpack (5.1.1) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'</a><br><a class="trace-frames" data-frame-id="28" href="#">actionpack (5.1.1) lib/action_dispatch/routing/route_set.rb:31:in `serve'</a><br><a class="trace-frames" data-frame-id="29" href="#">actionpack (5.1.1) lib/action_dispatch/routing/mapper.rb:16:in `block in <class:Constraints>'</a><br><a class="trace-frames" data-frame-id="30" href="#">actionpack (5.1.1) lib/action_dispatch/routing/mapper.rb:46:in `serve'</a><br><a class="trace-frames" data-frame-id="31" href="#">actionpack (5.1.1) lib/action_dispatch/journey/router.rb:46:in `block in serve'</a><br><a class="trace-frames" data-frame-id="32" href="#">actionpack (5.1.1) lib/action_dispatch/journey/router.rb:33:in `each'</a><br><a class="trace-frames" data-frame-id="33" href="#">actionpack (5.1.1) lib/action_dispatch/journey/router.rb:33:in `serve'</a><br><a class="trace-frames" data-frame-id="34" href="#">actionpack (5.1.1) lib/action_dispatch/routing/route_set.rb:832:in `call'</a><br><a class="trace-frames" data-frame-id="35" href="#">warden (1.2.7) lib/warden/manager.rb:36:in `block in call'</a><br><a class="trace-frames" data-frame-id="36" href="#">warden (1.2.7) lib/warden/manager.rb:35:in `catch'</a><br><a class="trace-frames" data-frame-id="37" href="#">warden (1.2.7) lib/warden/manager.rb:35:in `call'</a><br><a class="trace-frames" data-frame-id="38" href="#">rack (2.0.3) lib/rack/etag.rb:25:in `call'</a><br><a class="trace-frames" data-frame-id="39" href="#">rack (2.0.3) lib/rack/conditional_get.rb:38:in `call'</a><br><a class="trace-frames" data-frame-id="40" href="#">rack (2.0.3) lib/rack/head.rb:12:in `call'</a><br><a class="trace-frames" data-frame-id="41" href="#">activerecord (5.1.1) lib/active_record/migration.rb:556:in `call'</a><br><a class="trace-frames" data-frame-id="42" href="#">actionpack (5.1.1) lib/action_dispatch/middleware/callbacks.rb:26:in `block in call'</a><br><a class="trace-frames" data-frame-id="43" href="#">activesupport (5.1.1) lib/active_support/callbacks.rb:97:in `run_callbacks'</a><br><a class="trace-frames" data-frame-id="44" href="#">actionpack (5.1.1) lib/action_dispatch/middleware/callbacks.rb:24:in `call'</a><br><a class="trace-frames" data-frame-id="45" href="#">actionpack (5.1.1) lib/action_dispatch/middleware/executor.rb:12:in `call'</a><br><a class="trace-frames" data-frame-id="46" href="#">actionpack (5.1.1) lib/action_dispatch/middleware/debug_exceptions.rb:59:in `call'</a><br><a class="trace-frames" data-frame-id="47" href="#">actionpack (5.1.1) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'</a><br><a class="trace-frames" data-frame-id="48" href="#">railties (5.1.1) lib/rails/rack/logger.rb:36:in `call_app'</a><br><a class="trace-frames" data-frame-id="49" href="#">railties (5.1.1) lib/rails/rack/logger.rb:24:in `block in call'</a><br><a class="trace-frames" data-frame-id="50" href="#">activesupport (5.1.1) lib/active_support/tagged_logging.rb:69:in `block in tagged'</a><br><a class="trace-frames" data-frame-id="51" href="#">activesupport (5.1.1) lib/active_support/tagged_logging.rb:26:in `tagged'</a><br><a class="trace-frames" data-frame-id="52" href="#">activesupport (5.1.1) lib/active_support/tagged_logging.rb:69:in `tagged'</a><br><a class="trace-frames" data-frame-id="53" href="#">railties (5.1.1) lib/rails/rack/logger.rb:24:in `call'</a><br><a class="trace-frames" data-frame-id="54" href="#">actionpack (5.1.1) lib/action_dispatch/middleware/remote_ip.rb:79:in `call'</a><br><a class="trace-frames" data-frame-id="55" href="#">actionpack (5.1.1) lib/action_dispatch/middleware/request_id.rb:25:in `call'</a><br><a class="trace-frames" data-frame-id="56" href="#">rack (2.0.3) lib/rack/runtime.rb:22:in `call'</a><br><a class="trace-frames" data-frame-id="57" href="#">activesupport (5.1.1) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call'</a><br><a class="trace-frames" data-frame-id="58" href="#">actionpack (5.1.1) lib/action_dispatch/middleware/executor.rb:12:in `call'</a><br><a class="trace-frames" data-frame-id="59" href="#">actionpack (5.1.1) lib/action_dispatch/middleware/static.rb:125:in `call'</a><br><a class="trace-frames" data-frame-id="60" href="#">rack (2.0.3) lib/rack/sendfile.rb:111:in `call'</a><br><a class="trace-frames" data-frame-id="61" href="#">railties (5.1.1) lib/rails/engine.rb:522:in `call'</a><br><a class="trace-frames" data-frame-id="62" href="#">puma (3.9.1) lib/puma/configuration.rb:224:in `call'</a><br><a class="trace-frames" data-frame-id="63" href="#">puma (3.9.1) lib/puma/server.rb:602:in `handle_request'</a><br><a class="trace-frames" data-frame-id="64" href="#">puma (3.9.1) lib/puma/server.rb:435:in `process_client'</a><br><a class="trace-frames" data-frame-id="65" href="#">puma (3.9.1) lib/puma/server.rb:299:in `block in run'</a><br><a class="trace-frames" data-frame-id="66" href="#">puma (3.9.1) 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>{"email"=>"[email protected]", | |
"password"=>"[FILTERED]", | |
"password_confirmation"=>"[FILTERED]", | |
"registration"=>{"email"=>"[email protected]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}} | |
</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: "application/json, */*" | |
HTTP_ACCEPT_ENCODING: "gzip, deflate" | |
HTTP_VERSION: "HTTP/1.1" | |
ORIGINAL_SCRIPT_NAME: "" | |
REMOTE_ADDR: "127.0.0.1" | |
SERVER_NAME: "localhost" | |
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