# File lib_core/rucy/request.rb, line 331
    def cgi_env(script_name, pass_auth=false)
      env = Hash.new
      env['GATEWAY_INTERFACE'] = 'CGI/1.1'
      env['REQUEST_METHOD'] = @method
      env['SCRIPT_NAME'] = script_name
      env['PATH_INFO'] = subpath(script_name)[1]
      env['QUERY_STRING'] = @query || ''
      if (has_header? 'Host') then
        host = header('Host')
        if (host =~ /:\d+$/) then
          name, port = host.split(/:/, 2)
          env['SERVER_NAME'] = name
          env['SERVER_PORT'] = port
        else
          env['SERVER_NAME'] = host
          env['SERVER_PORT'] = '80'
        end
      else
        env['SERVER_NAME'] = @server_name || @server_address
        env['SERVER_PORT'] = @server_port.to_s
      end
      env['SERVER_PROTOCOL'] = @version
      env['SERVER_SOFTWARE'] = SERVER_TOKEN_LIST
      env['REMOTE_HOST'] = @client_name || @client_address
      env['REMOTE_ADDR'] = @client_address

      each_header do |name, value|
        case (name)
        when 'Content-Type', 'Content-Length'
          cgi_name = name.upcase
          cgi_name.gsub!(/-/, '_')
          env[cgi_name] = value
        else
          unless (pass_auth) then
            if (name =~ /Authorization/) then
              next
            end
          end
          cgi_name = name.upcase
          cgi_name.gsub!(/-/, '_')
          env['HTTP_' + cgi_name] = value
        end
      end

      env
    end