diff --git a/CHANGES b/CHANGES
index 31ab05f2..866944ce 100644
--- a/CHANGES
+++ b/CHANGES
@@ -15,6 +15,9 @@
classic style) than `Sinatra::Application` by setting `Delegator.target`.
This was mainly introduced to ease testing. (Konstantin Haase)
+ * Added `request.accept?` and `request.preferred_type` to ease dealing with
+ `Accept` headers. (Konstantin Haase)
+
= 1.2.2 / Not Yet Released
* The `:provides => :js` condition now matches both `application/javascript`
diff --git a/README.rdoc b/README.rdoc
index 703d674e..eb952c88 100644
--- a/README.rdoc
+++ b/README.rdoc
@@ -1099,29 +1099,33 @@ error handlers) through the request method:
# app running on http://example.com/example
get '/foo' do
- request.body # request body sent by the client (see below)
- request.scheme # "http"
- request.script_name # "/example"
- request.path_info # "/foo"
- request.port # 80
- request.request_method # "GET"
- request.query_string # ""
- request.content_length # length of request.body
- request.media_type # media type of request.body
- request.host # "example.com"
- request.get? # true (similar methods for other verbs)
- request.form_data? # false
- request["SOME_HEADER"] # value of SOME_HEADER header
- request.referrer # the referrer of the client or '/'
- request.user_agent # user agent (used by :agent condition)
- request.cookies # hash of browser cookies
- request.xhr? # is this an ajax request?
- request.url # "http://example.com/example/foo"
- request.path # "/example/foo"
- request.ip # client IP address
- request.secure? # false (would be true over ssl)
- request.forwarded? # true (if running behind a reverse proxy)
- request.env # raw env hash handed in by Rack
+ t = %w[text/css text/html application/javascript]
+ request.accept # ['text/html', '*/*']
+ request.accept? 'text/xml' # true
+ request.preferred_type(t) # 'text/html'
+ request.body # request body sent by the client (see below)
+ request.scheme # "http"
+ request.script_name # "/example"
+ request.path_info # "/foo"
+ request.port # 80
+ request.request_method # "GET"
+ request.query_string # ""
+ request.content_length # length of request.body
+ request.media_type # media type of request.body
+ request.host # "example.com"
+ request.get? # true (similar methods for other verbs)
+ request.form_data? # false
+ request["SOME_HEADER"] # value of SOME_HEADER header
+ request.referrer # the referrer of the client or '/'
+ request.user_agent # user agent (used by :agent condition)
+ request.cookies # hash of browser cookies
+ request.xhr? # is this an ajax request?
+ request.url # "http://example.com/example/foo"
+ request.path # "/example/foo"
+ request.ip # client IP address
+ request.secure? # false (would be true over ssl)
+ request.forwarded? # true (if running behind a reverse proxy)
+ request.env # raw env hash handed in by Rack
end
Some options, like script_name or path_info, can also be