diff options
author | Aditya Sanghi <asanghi@me.com> | 2012-02-17 15:10:52 +0530 |
---|---|---|
committer | Aditya Sanghi <asanghi@me.com> | 2012-02-17 15:10:52 +0530 |
commit | dffd85a1922d4169311f98d7560564d4356f8631 (patch) | |
tree | 4f55603eef3da63cd2d257a794da31b5a91fdcbf /actionpack/lib/action_dispatch/http | |
parent | a1b9acb72ec4b3a3d11f77efe64effb79e58b45d (diff) | |
download | rails-dffd85a1922d4169311f98d7560564d4356f8631.tar.gz rails-dffd85a1922d4169311f98d7560564d4356f8631.tar.bz2 rails-dffd85a1922d4169311f98d7560564d4356f8631.zip |
backporting #4918 to 3.2 stable; adding extra test for accept header given by googlebot
Diffstat (limited to 'actionpack/lib/action_dispatch/http')
-rw-r--r-- | actionpack/lib/action_dispatch/http/mime_type.rb | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/actionpack/lib/action_dispatch/http/mime_type.rb b/actionpack/lib/action_dispatch/http/mime_type.rb index 25affb9f50..2152351703 100644 --- a/actionpack/lib/action_dispatch/http/mime_type.rb +++ b/actionpack/lib/action_dispatch/http/mime_type.rb @@ -82,6 +82,7 @@ module Mime class << self TRAILING_STAR_REGEXP = /(text|application)\/\*/ + Q_SEPARATOR_REGEXP = /;\s*q=/ def lookup(string) LOOKUP[string] @@ -108,6 +109,7 @@ module Mime def parse(accept_header) if accept_header !~ /,/ + accept_header = accept_header.split(Q_SEPARATOR_REGEXP).first if accept_header =~ TRAILING_STAR_REGEXP parse_data_with_trailing_star($1) else @@ -117,7 +119,7 @@ module Mime # keep track of creation order to keep the subsequent sort stable list, index = [], 0 accept_header.split(/,/).each do |header| - params, q = header.split(/;\s*q=/) + params, q = header.split(Q_SEPARATOR_REGEXP) if params.present? params.strip! |