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
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
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