Class: Poncho::Request
- Inherits:
-
Rack::Request
- Object
- Rack::Request
- Poncho::Request
- Defined in:
- lib/poncho/request.rb
Instance Method Summary collapse
-
#accept ⇒ Object
Returns an array of acceptable media types for the response.
- #forwarded? ⇒ Boolean
- #idempotent? ⇒ Boolean
- #params ⇒ Object
- #preferred_type(*types) ⇒ Object (also: #accept?)
- #safe? ⇒ Boolean
Instance Method Details
#accept ⇒ Object
Returns an array of acceptable media types for the response
4 5 6 7 8 9 |
# File 'lib/poncho/request.rb', line 4 def accept @env['poncho.accept'] ||= begin entries = @env['HTTP_ACCEPT'].to_s.split(',') entries.map { |e| accept_entry(e) }.sort_by(&:last).map(&:first) end end |
#forwarded? ⇒ Boolean
23 24 25 |
# File 'lib/poncho/request.rb', line 23 def forwarded? @env.include? 'HTTP_X_FORWARDED_HOST' end |
#idempotent? ⇒ Boolean
31 32 33 |
# File 'lib/poncho/request.rb', line 31 def idempotent? safe? or put? or delete? end |
#params ⇒ Object
35 36 37 38 39 40 |
# File 'lib/poncho/request.rb', line 35 def params @params ||= begin params = super.merge(action_dispatch_params) indifferent_params(params) end end |
#preferred_type(*types) ⇒ Object Also known as: accept?
11 12 13 14 15 16 17 18 |
# File 'lib/poncho/request.rb', line 11 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? ⇒ Boolean
27 28 29 |
# File 'lib/poncho/request.rb', line 27 def safe? get? or head? or or trace? end |