class ActionDispatch::TestRequest

def self.new(env = {})

def self.new(env = {})
  super
end

def accept=(mime_types)

def accept=(mime_types)
  @env.delete('action_dispatch.request.accepts')
  @env['HTTP_ACCEPT'] = Array(mime_types).collect { |mime_types| mime_types.to_s }.join(",")
end

def action=(action_name)

def action=(action_name)
  path_parameters["action"] = action_name.to_s
end

def cookies

def cookies
  @cookies ||= super
end

def delete_nil_values!

def delete_nil_values!
  @env.delete_if { |k, v| v.nil? }
end

def env

def env
  write_cookies!
  delete_nil_values!
  super
end

def host=(host)

def host=(host)
  @env['HTTP_HOST'] = host
end

def if_modified_since=(last_modified)

def if_modified_since=(last_modified)
  @env['HTTP_IF_MODIFIED_SINCE'] = last_modified
end

def if_none_match=(etag)

def if_none_match=(etag)
  @env['HTTP_IF_NONE_MATCH'] = etag
end

def initialize(env = {})

def initialize(env = {})
  env = Rails.application.env_defaults.merge(env) if defined?(Rails.application)
  super(DEFAULT_ENV.merge(env))
  self.host        = 'test.host'
  self.remote_addr = '0.0.0.0'
  self.user_agent  = 'Rails Testing'
end

def path=(path)

def path=(path)
  @env['PATH_INFO'] = path
end

def port=(number)

def port=(number)
  @env['SERVER_PORT'] = number.to_i
end

def remote_addr=(addr)

def remote_addr=(addr)
  @env['REMOTE_ADDR'] = addr
end

def request_method=(method)

def request_method=(method)
  @env['REQUEST_METHOD'] = method.to_s.upcase
end

def request_uri=(uri)

def request_uri=(uri)
  @env['REQUEST_URI'] = uri
end

def user_agent=(user_agent)

def user_agent=(user_agent)
  @env['HTTP_USER_AGENT'] = user_agent
end

def write_cookies!

def write_cookies!
  unless @cookies.blank?
    @env['HTTP_COOKIE'] = @cookies.map { |name, value| "#{name}=#{value};" }.join(' ')
  end
end