Method: ActionController::Renderer.normalize_env

Defined in:
actionpack/lib/action_controller/renderer.rb

.normalize_env(env) ⇒ Object

:nodoc:



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'actionpack/lib/action_controller/renderer.rb', line 35

def self.normalize_env(env) # :nodoc:
  new_env = {}

  env.each_pair do |key, value|
    case key
    when :https
      value = value ? "on" : "off"
    when :method
      value = -value.upcase
    end

    key = RACK_KEY_TRANSLATION[key] || key.to_s

    new_env[key] = value
  end

  if new_env["HTTP_HOST"]
    new_env["HTTPS"] ||= "off"
    new_env["SCRIPT_NAME"] ||= ""
  end

  if new_env["HTTPS"]
    new_env["rack.url_scheme"] = new_env["HTTPS"] == "on" ? "https" : "http"
  end

  new_env
end