Class: Merb::Cache::CacheRequest

Inherits:
Request
  • Object
show all
Defined in:
lib/merb-cache/cache_request.rb

Constant Summary collapse

DEFAULT_ENV =
Mash.new({
  'SERVER_NAME' => 'localhost',
  'HTTP_ACCEPT_ENCODING' => 'gzip,deflate',
  'HTTP_USER_AGENT' => 'Ruby/Merb (ver: ' + Merb::VERSION + ') merb-cache',
  'SCRIPT_NAME' => '/',
  'SERVER_PROTOCOL' => 'HTTP/1.1',
  'HTTP_CACHE_CONTROL' => 'max-age=0',
  'HTTP_ACCEPT_LANGUAGE' => 'en,ja;q=0.9,fr;q=0.9,de;q=0.8,es;q=0.7,it;q=0.7,nl;q=0.6,sv;q=0.5,nb;q=0.5,da;q=0.4,fi;q=0.3,pt;q=0.3,zh-Hans;q=0.2,zh-Hant;q=0.1,ko;q=0.1',
  'HTTP_HOST' => 'localhost',
  'REMOTE_ADDR' => '127.0.0.1',
  'SERVER_SOFTWARE' => 'Mongrel 1.1',
  'HTTP_KEEP_ALIVE' => '300',
  'HTTP_REFERER' => 'http://localhost/',
  'HTTP_ACCEPT_CHARSET' => 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
  'HTTP_VERSION' => 'HTTP/1.1',
  'REQUEST_METHOD' => 'GET',
  'SERVER_PORT' => '80',
  'GATEWAY_INTERFACE' => 'CGI/1.2',
  'HTTP_ACCEPT' => 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5',
  'HTTP_CONNECTION' => 'keep-alive'
})

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(uri = "", params = {}, env = {}) ⇒ CacheRequest

Returns a new instance of CacheRequest.



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/merb-cache/cache_request.rb', line 7

def initialize(uri = "", params = {}, env = {})
  if uri || !env[Merb::Const::REQUEST_URI]
    uri = URI(uri || '/')        
    env[Merb::Const::REQUEST_URI]  = uri.respond_to?(:request_uri) ? uri.request_uri : uri.to_s
    env[Merb::Const::HTTP_HOST]    = uri.host + (uri.port != 80 ? ":#{uri.port}" : '') if uri.host
    env[Merb::Const::SERVER_PORT]  = uri.port.to_s   if uri.port
    env[Merb::Const::QUERY_STRING] = uri.query.to_s  if uri.query
    env[Merb::Const::REQUEST_PATH] = env[Merb::Const::PATH_INFO] = uri.path
  end
  
  env[Merb::Const::REQUEST_METHOD] = env[:method] ? env.delete(:method).to_s.upcase : 'GET'
  
  super(DEFAULT_ENV.merge(env))
  
 
  @params = params || {}
end

Instance Attribute Details

#paramsObject

Returns the value of attribute params.



5
6
7
# File 'lib/merb-cache/cache_request.rb', line 5

def params
  @params
end