class Expressr::Request

Attributes

query[R]

Public Class Methods

new(env) click to toggle source
Calls superclass method
# File lib/expressr/request.rb, line 5
def initialize(env)
  super(env)
  @params = Hashie::Mash.new(@params)
  @query = Hashie::Mash.new(@query)
end

Public Instance Methods

accepts(types) click to toggle source
# File lib/expressr/request.rb, line 35
def accepts(types)
  types = types.split(', ') if types.is_a?(String)
  types = [types] unless types.is_a?(Array)
  @accept_types ||= get('Accept').split(';').first.split(',')
  (types & @accept_types).first
end
accepts_charset(charset) click to toggle source
# File lib/expressr/request.rb, line 42
def accepts_charset(charset)
  raise NotImplementedError
end
accepts_language(language) click to toggle source
# File lib/expressr/request.rb, line 46
def accepts_language(language)
  raise NotImplementedError
end
cookies() click to toggle source
# File lib/expressr/request.rb, line 23
def cookies
  raise NotImplementedError
end
fresh?() click to toggle source
# File lib/expressr/request.rb, line 73
def fresh?
  raise NotImplementedError
end
get(name) click to toggle source
# File lib/expressr/request.rb, line 31
def get(name)
  headers[name]
end
Also aliased as: header
host() click to toggle source
# File lib/expressr/request.rb, line 69
def host
  get('Host').split(':').first
end
ip() click to toggle source
# File lib/expressr/request.rb, line 57
def ip
  @env[:ip]
end
ips() click to toggle source
# File lib/expressr/request.rb, line 61
def ips
  raise NotImplementedError
end
is?(type) click to toggle source
# File lib/expressr/request.rb, line 50
def is?(type)
  content_type_header = headers['Content-Type']
  return false if content_type_header.nil?
  content_types = content_type_header.split('; ')
  content_types.include?(type)
end
locals() click to toggle source
# File lib/expressr/request.rb, line 97
def locals
  @locals ||= Hashie::Mash.new
end
original_url() click to toggle source
# File lib/expressr/request.rb, line 101
def original_url
  @original_url ||= get_original_url
end
param(name) click to toggle source
# File lib/expressr/request.rb, line 15
def param(name)
  params[name]
end
path() click to toggle source
# File lib/expressr/request.rb, line 65
def path
  @env[:request_uri]
end
protocol() click to toggle source
# File lib/expressr/request.rb, line 85
def protocol
  @env[:protocol].split('/').first.downcase
end
route() click to toggle source
# File lib/expressr/request.rb, line 19
def route
  raise NotImplementedError
end
secure?() click to toggle source
# File lib/expressr/request.rb, line 89
def secure?
  protocol == 'https'
end
signed_cookies() click to toggle source
# File lib/expressr/request.rb, line 27
def signed_cookies
  raise NotImplementedError
end
stale?() click to toggle source
# File lib/expressr/request.rb, line 77
def stale?
  raise NotImplementedError
end
subdomains() click to toggle source
# File lib/expressr/request.rb, line 93
def subdomains
  host.split('.')[0..-3].reverse
end
url() click to toggle source
# File lib/expressr/request.rb, line 11
def url
  @url ||= original_url
end
xhr?() click to toggle source
# File lib/expressr/request.rb, line 81
def xhr?
  get('X-Requested-With') == 'XMLHttpRequest'
end

Protected Instance Methods

get_original_url() click to toggle source
# File lib/expressr/request.rb, line 107
def get_original_url
  url = path
  query_string = @env[:query_string]
  if query_string && query_string != ''
    url = "#{url}?#{query_string}"
  end
  url
end
header(name)
Alias for: get