class Rack::Accept::Request
A container class for convenience methods when Rack::Accept is used on the request level as Rack middleware. Instances of this class also manage a lightweight cache of various header instances to speed up execution.
Attributes
Public Class Methods
# File lib/rack/accept/request.rb, line 10 def initialize(env) @env = env end
Public Instance Methods
Determines the best character set to use in a response from the given character sets, if any is acceptable. For more information on how this value is determined, see the documentation for Rack::Accept::Header::PublicInstanceMethods#sort.
# File lib/rack/accept/request.rb, line 70 def best_charset(values) charset.best_of(values) end
Determines the best encoding to use in a response from the given encodings, if any is acceptable. For more information on how this value is determined, see the documentation for Rack::Accept::Header::PublicInstanceMethods#sort.
# File lib/rack/accept/request.rb, line 78 def best_encoding(values) encoding.best_of(values) end
Determines the best language to use in a response from the given languages, if any is acceptable. For more information on how this value is determined, see the documentation for Rack::Accept::Header::PublicInstanceMethods#sort.
# File lib/rack/accept/request.rb, line 86 def best_language(values) language.best_of(values) end
Determines the best media type to use in a response from the given media types, if any is acceptable. For more information on how this value is determined, see the documentation for Rack::Accept::Header::PublicInstanceMethods#sort.
# File lib/rack/accept/request.rb, line 62 def best_media_type(values) media_type.best_of(values) end
Provides access to the Rack::Accept::Charset instance for this request.
# File lib/rack/accept/request.rb, line 20 def charset @charset ||= Charset.new(env['HTTP_ACCEPT_CHARSET']) end
Returns true if the Accept-Charset
request header indicates
the given character set is acceptable, false otherwise.
# File lib/rack/accept/request.rb, line 42 def charset?(value) charset.accept?(value) end
Provides access to the Rack::Accept::Encoding instance for this request.
# File lib/rack/accept/request.rb, line 25 def encoding @encoding ||= Encoding.new(env['HTTP_ACCEPT_ENCODING']) end
Returns true if the Accept-Encoding
request header indicates
the given encoding is acceptable, false otherwise.
# File lib/rack/accept/request.rb, line 48 def encoding?(value) encoding.accept?(value) end
Provides access to the Rack::Accept::Language instance for this request.
# File lib/rack/accept/request.rb, line 30 def language @language ||= Language.new(env['HTTP_ACCEPT_LANGUAGE']) end
Returns true if the Accept-Language
request header indicates
the given language is acceptable, false otherwise.
# File lib/rack/accept/request.rb, line 54 def language?(value) language.accept?(value) end
Provides access to the Rack::Accept::MediaType instance for this request.
# File lib/rack/accept/request.rb, line 15 def media_type @media_type ||= MediaType.new(env['HTTP_ACCEPT']) end
Returns true if the Accept
request header indicates the given
media type is acceptable, false otherwise.
# File lib/rack/accept/request.rb, line 36 def media_type?(value) media_type.accept?(value) end