class ERequest
Public Instance Methods
accept()
click to toggle source
Returns an array of acceptable media types for the response
# File lib/e-core/instance/request.rb, line 30 def accept @__e__accept ||= env[EConstants::ENV__HTTP_ACCEPT].to_s.split(','). map {|e| accept_entry(e)}.sort_by {|e| e.last}.map {|e| e.first} end
forwarded?()
click to toggle source
# File lib/e-core/instance/request.rb, line 46 def forwarded? env.include? EConstants::ENV__HTTP_X_FORWARDED_HOST end
idempotent?()
click to toggle source
# File lib/e-core/instance/request.rb, line 54 def idempotent? safe? or put? or delete? end
preferred_type(*types)
click to toggle source
# File lib/e-core/instance/request.rb, line 35 def preferred_type(*types) return accept.first if types.empty? types.flatten! accept.detect do |pattern| type = types.detect { |t| File.fnmatch(pattern, t) } return type if type end end
safe?()
click to toggle source
# File lib/e-core/instance/request.rb, line 50 def safe? get? or head? or options? or trace? end
Private Instance Methods
accept_entry(entry)
click to toggle source
# File lib/e-core/instance/request.rb, line 60 def accept_entry(entry) type, *options = entry.delete(' ').split(';') quality = 0 # we sort smallest first options.delete_if { |e| quality = 1 - e[2..-1].to_f if e.start_with? 'q=' } [type, [quality, type.count('*'), 1 - options.size]] end