Parent

Methods

Class/Module Index [+]

Quicksearch

Rack::AcceptMediaTypes

AcceptMediaTypes is intended for wrapping env.

It allows ordering of its values (accepted media types) according to their "quality" (preference level).

This wrapper is typically used to determine the request's prefered media type (see example below).

Examples
env['HTTP_ACCEPT']  #=> 'application/xml;q=0.8,text/html,text/plain;q=0.9'

types = Rack::AcceptMediaTypes.new(env['HTTP_ACCEPT'])
types               #=> ['text/html', 'text/plain', 'application/xml']
types.prefered      #=>  'text/html'
Notes

For simplicity, media type parameters are striped, as they are seldom used in practice. Users who need them are excepted to parse the Accept header manually.

References

HTTP 1.1 Specs:

Public Class Methods

new(header) click to toggle source
# File lib/sinatra/accept_media_types.rb, line 89
def initialize(header)
  if header.nil?
    replace(['*/*'])
  else
    replace(order(header.gsub(/ /, '').split(/,/)))
  end
end

Public Instance Methods

prefered() click to toggle source

The client's prefered media type.

# File lib/sinatra/accept_media_types.rb, line 98
def prefered
  first
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.