class Sinatra::Request
The request object. See Rack::Request for more info: rubydoc.info/github/rack/rack/master/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 30 def accept 31 @env['sinatra.accept'] ||= begin 32 if @env.include? 'HTTP_ACCEPT' and @env['HTTP_ACCEPT'].to_s != '' 33 @env['HTTP_ACCEPT'].to_s.scan(HEADER_VALUE_WITH_PARAMS). 34 map! { |e| AcceptEntry.new(e) }.sort 35 else 36 [AcceptEntry.new('*/*')] 37 end 38 end 39 end
accept?(type)
click to toggle source
# File lib/sinatra/base.rb 41 def accept?(type) 42 preferred_type(type).to_s.include?(type) 43 end
forwarded?()
click to toggle source
# File lib/sinatra/base.rb 57 def forwarded? 58 @env.include? "HTTP_X_FORWARDED_HOST" 59 end
idempotent?()
click to toggle source
# File lib/sinatra/base.rb 65 def idempotent? 66 safe? or put? or delete? or link? or unlink? 67 end
link?()
click to toggle source
# File lib/sinatra/base.rb 69 def link? 70 request_method == "LINK" 71 end
params()
click to toggle source
Calls superclass method
# File lib/sinatra/base.rb 77 def params 78 super 79 rescue Rack::Utils::ParameterTypeError, Rack::Utils::InvalidParameterError => e 80 raise BadRequest, "Invalid query parameters: #{Rack::Utils.escape_html(e.message)}" 81 end
preferred_type(*types)
click to toggle source
# File lib/sinatra/base.rb 45 def preferred_type(*types) 46 return accept.first if types.empty? 47 types.flatten! 48 return types.first if accept.empty? 49 accept.detect do |accept_header| 50 type = types.detect { |t| MimeTypeEntry.new(t).accepts?(accept_header) } 51 return type if type 52 end 53 end
safe?()
click to toggle source
# File lib/sinatra/base.rb 61 def safe? 62 get? or head? or options? or trace? 63 end
unlink?()
click to toggle source
# File lib/sinatra/base.rb 73 def unlink? 74 request_method == "UNLINK" 75 end