aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/templates/rescues/_request_and_response.rhtml
blob: afdd19c6c10bd0f5a3a22817d8b57ff39d23cf4e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<% if defined?(Breakpoint) %>
  <br /><br />
  <%= form_tag({}, "method" => @request.method) %>
    <input type="hidden" name="BP-RETRY" value="1" />

    <% for key, value in @request.params %>
      <input type="hidden" name="<%= key %>" value="<%= value %>" />
    <% end %>

    <input type="submit" value="Retry with Breakpoint" />
  </form>
<% end %>

<%
  request_parameters_without_action = @request.parameters.clone
  request_parameters_without_action.delete("action")
  request_parameters_without_action.delete("controller")
  
  request_dump  = request_parameters_without_action.inspect.gsub(/,/, ",\n")
  session_dump  = @request.session.instance_variable_get("@data").inspect.gsub(/,/, ",\n")
  response_dump = @response.inspect.gsub(/,/, ",\n")

  template_assigns = @response.template.instance_variable_get("@assigns")
  %w( response exception template session request template_root template_class url ignore_missing_templates logger cookies headers params ).each { |t| template_assigns.delete(t) }
  template_dump = template_assigns.inspect.gsub(/,/, ",\n")
%>

<h2 style="margin-top: 30px">Request</h2>
<p><b>Parameters</b>: <%=h request_dump == "{}" ? "None" : request_dump %></p>

<p><a href="#" onclick="document.getElementById('session_dump').style.display='block'; return false;">Show session dump</a></p>
<div id="session_dump" style="display:none"><%= debug(@request.session.instance_variable_get("@data")) %></div>


<h2 style="margin-top: 30px">Response</h2>
<b>Headers</b>: <%=h @response.headers.inspect.gsub(/,/, ",\n") %><br/>

<p><a href="#" onclick="document.getElementById('template_dump').style.display='block'; return false;">Show template parameters</a></p>
<div id="template_dump" style="display:none"><%= debug(template_assigns) %></div>