1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/actionpack/lib/action_controller/headers.rb

31 lines
No EOL
660 B
Ruby

module ActionController
module Http
class Headers < ::Hash
def initialize(constructor = {})
if constructor.is_a?(Hash)
super()
update(constructor)
else
super(constructor)
end
end
def [](header_name)
if include?(header_name)
super
else
super(normalize_header(header_name))
end
end
private
# Takes an HTTP header name and returns it in the
# format
def normalize_header(header_name)
"HTTP_#{header_name.upcase.gsub(/-/, '_')}"
end
end
end
end