class Sinatra::Request
The request object. See Rack::Request for more info: rubydoc.info/github/rack/rack/main/Rack/Request
Constants
- HEADER_PARAM
- HEADER_VALUE_WITH_PARAMS
Public Instance Methods
accept()
click to toggle source
Returns an array of acceptable media types for the response
# File lib/sinatra/base.rb 36 def accept 37 @env['sinatra.accept'] ||= if @env.include?('HTTP_ACCEPT') && (@env['HTTP_ACCEPT'].to_s != '') 38 @env['HTTP_ACCEPT'] 39 .to_s 40 .scan(HEADER_VALUE_WITH_PARAMS) 41 .map! { |e| AcceptEntry.new(e) } 42 .sort 43 else 44 [AcceptEntry.new('*/*')] 45 end 46 end
accept?(type)
click to toggle source
# File lib/sinatra/base.rb 48 def accept?(type) 49 preferred_type(type).to_s.include?(type) 50 end
forwarded?()
click to toggle source
# File lib/sinatra/base.rb 66 def forwarded? 67 !forwarded_authority.nil? 68 end
idempotent?()
click to toggle source
# File lib/sinatra/base.rb 74 def idempotent? 75 safe? || put? || delete? || link? || unlink? 76 end
link?()
click to toggle source
# File lib/sinatra/base.rb 78 def link? 79 request_method == 'LINK' 80 end
params()
click to toggle source
Calls superclass method
# File lib/sinatra/base.rb 86 def params 87 super 88 rescue Rack::Utils::ParameterTypeError, Rack::Utils::InvalidParameterError => e 89 raise BadRequest, "Invalid query parameters: #{Rack::Utils.escape_html(e.message)}" 90 rescue EOFError => e 91 raise BadRequest, "Invalid multipart/form-data: #{Rack::Utils.escape_html(e.message)}" 92 end
preferred_type(*types)
click to toggle source
# File lib/sinatra/base.rb 52 def preferred_type(*types) 53 return accept.first if types.empty? 54 55 types.flatten! 56 return types.first if accept.empty? 57 58 accept.detect do |accept_header| 59 type = types.detect { |t| MimeTypeEntry.new(t).accepts?(accept_header) } 60 return type if type 61 end 62 end
safe?()
click to toggle source
# File lib/sinatra/base.rb 70 def safe? 71 get? || head? || options? || trace? 72 end
unlink?()
click to toggle source
# File lib/sinatra/base.rb 82 def unlink? 83 request_method == 'UNLINK' 84 end