Only show dump of regular env methods on exception screen (not all the rack crap) [DHH]

This commit is contained in:
David Heinemeier Hansson 2011-05-04 19:56:56 -05:00
parent 9f062970ca
commit 5b8801442e
3 changed files with 8 additions and 5 deletions

@ -1,5 +1,7 @@
*Rails 3.1.0 (unreleased)*
* Only show dump of regular env methods on exception screen (not all the rack crap) [DHH]
* auto_link has been removed with no replacement. If you still use auto_link
please install the rails_autolink gem:
http://github.com/tenderlove/rails_autolink

@ -17,16 +17,17 @@ class Request < Rack::Request
include ActionDispatch::Http::Upload
include ActionDispatch::Http::URL
LOCALHOST = [/^127\.0\.0\.\d{1,3}$/, "::1", /^0:0:0:0:0:0:0:1(%.*)?$/].freeze
%w[ AUTH_TYPE GATEWAY_INTERFACE
LOCALHOST = [/^127\.0\.0\.\d{1,3}$/, "::1", /^0:0:0:0:0:0:0:1(%.*)?$/].freeze
ENV_METHODS = %w[ AUTH_TYPE GATEWAY_INTERFACE
PATH_TRANSLATED REMOTE_HOST
REMOTE_IDENT REMOTE_USER REMOTE_ADDR
SERVER_NAME SERVER_PROTOCOL
HTTP_ACCEPT HTTP_ACCEPT_CHARSET HTTP_ACCEPT_ENCODING
HTTP_ACCEPT_LANGUAGE HTTP_CACHE_CONTROL HTTP_FROM
HTTP_NEGOTIATE HTTP_PRAGMA ].each do |env|
HTTP_NEGOTIATE HTTP_PRAGMA ].freeze
ENV_METHODS.each do |env|
class_eval <<-METHOD, __FILE__, __LINE__ + 1
def #{env.sub(/^HTTP_/n, '').downcase}
@env["#{env}"]

@ -24,7 +24,7 @@
<div id="session_dump" style="display:none"><pre><%= debug_hash @request.session %></pre></div>
<p><a href="#" onclick="document.getElementById('env_dump').style.display='block'; return false;">Show env dump</a></p>
<div id="env_dump" style="display:none"><pre><%= debug_hash @request.env %></pre></div>
<div id="env_dump" style="display:none"><pre><%= debug_hash @request.env.slice(*@request.class::ENV_METHODS) %></pre></div>
<h2 style="margin-top: 30px">Response</h2>