class StirFry::Request
Request expands Rack::Request to include url args
Attributes
args are the parameters that were parsed from the url path such as resource ids.
Public Instance Methods
Source
# File lib/stir_fry/request.rb, line 25 def accept?(mime) = accept_types.include?(mime)
Returns true if the request accepts header matches a mime type string
Source
# File lib/stir_fry/request.rb, line 23 def csv? = accept?("text/csv")
Returns true if the request accepts csv
Source
# File lib/stir_fry/request.rb, line 17 def html? = accept?("text/html")
Returns true if the request accepts html
Source
# File lib/stir_fry/request.rb, line 15 def json? = accept?("application/json")
Returns true if the request accepts json
Source
# File lib/stir_fry/request.rb, line 29 def params super rescue Rack::Utils::ParameterTypeError, Rack::Utils::InvalidParameterError => e raise BadRequest, "Invalid query parameters: #{Rack::Utils.escape_html(e.message)}" rescue EOFError => e raise BadRequest, "Invalid multipart/form-data: #{Rack::Utils.escape_html(e.message)}" end
params wraps rack:request params and captures common errors. This is copied from Sinatraโs handling of params.
Calls superclass method
Source
# File lib/stir_fry/request.rb, line 13 def path = @path ||= Rack::Utils.unescape_path(path_info)
The unescaped path from the request.
Source
# File lib/stir_fry/request.rb, line 19 def text? = accept?("text/plain")
Returns true if the request accepts text
Source
# File lib/stir_fry/request.rb, line 21 def xml? = accept?("application/xml")
Returns true if the request accepts xml