diff options
Diffstat (limited to 'actionpack/lib/action_dispatch/http/response.rb')
| -rw-r--r-- | actionpack/lib/action_dispatch/http/response.rb | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/actionpack/lib/action_dispatch/http/response.rb b/actionpack/lib/action_dispatch/http/response.rb index d336808e7c..11b7534ea4 100644 --- a/actionpack/lib/action_dispatch/http/response.rb +++ b/actionpack/lib/action_dispatch/http/response.rb @@ -58,6 +58,7 @@ module ActionDispatch # :nodoc: LOCATION = "Location".freeze cattr_accessor(:default_charset) { "utf-8" } + cattr_accessor(:default_headers) include Rack::Response::Helpers include ActionDispatch::Http::Cache::Response @@ -96,6 +97,8 @@ module ActionDispatch # :nodoc: def initialize(status = 200, header = {}, body = []) super() + header = merge_default_headers(header, self.class.default_headers) + self.body, self.header, self.status = body, header, status @sending_file = false @@ -238,6 +241,12 @@ module ActionDispatch # :nodoc: private + def merge_default_headers(original, default) + return original unless default.respond_to?(:merge) + + default.merge(original) + end + def build_buffer(response, body) Buffer.new response, body end |
