1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/actionpack/lib/action_controller/metal/rack_delegation.rb
Prem Sichanugrist ed88a601f7
Do note remove Content-Type when render :body
`render :body` should just not set the `Content-Type` header. By
removing the header, it breaks the compatibility with other parts.

After this commit, `render :body` will returns `text/html` content type,
sets by default from `ActionDispatch::Response`, and it will preserve
the overridden content type if you override it.

Fixes #14197, #14238

This partially reverts commit 3047376870.
2014-03-05 10:33:52 -05:00

32 lines
697 B
Ruby

require 'action_dispatch/http/request'
require 'action_dispatch/http/response'
module ActionController
module RackDelegation
extend ActiveSupport::Concern
delegate :headers, :status=, :location=, :content_type=,
:status, :location, :content_type, :to => "@_response"
def dispatch(action, request)
set_response!(request)
super(action, request)
end
def response_body=(body)
response.body = body if response
super
end
def reset_session
@_request.reset_session
end
private
def set_response!(request)
@_response = ActionDispatch::Response.new
@_response.request = request
end
end
end