From 8945be464feb8c9ec8c4e7be52e5195f17a1ef5e Mon Sep 17 00:00:00 2001 From: Yves Senn Date: Wed, 13 Mar 2013 11:14:49 +0100 Subject: Http::Headers respects headers that are not prefixed with HTTP_ --- actionpack/lib/action_dispatch/http/headers.rb | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'actionpack/lib/action_dispatch/http/headers.rb') diff --git a/actionpack/lib/action_dispatch/http/headers.rb b/actionpack/lib/action_dispatch/http/headers.rb index dc04d4577b..187e83cbd9 100644 --- a/actionpack/lib/action_dispatch/http/headers.rb +++ b/actionpack/lib/action_dispatch/http/headers.rb @@ -1,6 +1,16 @@ module ActionDispatch module Http class Headers + NON_PREFIX_VARIABLES = %w( + CONTENT_TYPE CONTENT_LENGTH + HTTPS AUTH_TYPE GATEWAY_INTERFACE + PATH_INFO PATH_TRANSLATED QUERY_STRING + REMOTE_ADDR REMOTE_HOST REMOTE_IDENT REMOTE_USER + REQUEST_METHOD SCRIPT_NAME + SERVER_NAME SERVER_PORT SERVER_PROTOCOL SERVER_SOFTWARE + ) + HEADER_REGEXP = /\A[A-Za-z-]+\z/ + include Enumerable def initialize(env = {}) @@ -32,7 +42,9 @@ module ActionDispatch end def cgi_name(k) - "HTTP_#{k.upcase.gsub(/-/, '_')}" + k = k.upcase.gsub(/-/, '_') + k = "HTTP_#{k.upcase.gsub(/-/, '_')}" unless NON_PREFIX_VARIABLES.include?(k) + k end end end -- cgit v1.2.3