The request object. See Rack::Request for more info: rack.rubyforge.org/doc/classes/Rack/Request.html
Returns an array of acceptable media types for the response
# File lib/sinatra/base.rb, line 23 def accept @env['sinatra.accept'] ||= begin entries = @env['HTTP_ACCEPT'].to_s.scan(HEADER_VALUE_WITH_PARAMS) entries.map { |e| AcceptEntry.new(e) }.sort end end
# File lib/sinatra/base.rb, line 30 def accept?(type) preferred_type.include?(type) end
# File lib/sinatra/base.rb, line 47 def forwarded? @env.include? "HTTP_X_FORWARDED_HOST" end
# File lib/sinatra/base.rb, line 55 def idempotent? safe? or put? or delete? or link? or unlink? end
# File lib/sinatra/base.rb, line 59 def link? request_method == "LINK" end
# File lib/sinatra/base.rb, line 34 def preferred_type(*types) accepts = accept # just evaluate once return accepts.first if types.empty? types.flatten! return types.first if accepts.empty? accepts.detect do |pattern| type = types.detect { |t| File.fnmatch(pattern, t) } return type if type end end
# File lib/sinatra/base.rb, line 51 def safe? get? or head? or options? or trace? end
# File lib/sinatra/base.rb, line 63 def unlink? request_method == "UNLINK" end