class

ActionDispatch::Response

v7.1.3.2 - Show latest stable - Superclass: Rack::Response

Action Dispatch Response

Represents an HTTP response generated by a controller action. Use it to retrieve the current state of the response, or customize the response. It can either represent a real HTTP response (i.e. one that is meant to be sent back to the web browser) or a TestResponse (i.e. one that is generated from integration tests).

The Response object for the current request is exposed on controllers as ActionController::Metal#response. ActionController::Metal also provides a few additional methods that delegate to attributes of the Response such as ActionController::Metal#headers.

Integration tests will likely also want to inspect responses in more detail. Methods such as Integration::RequestHelpers#get and Integration::RequestHelpers#post return instances of TestResponse (which inherits from Response) for this purpose.

For example, the following demo integration test prints the body of the controller response to the console:

class DemoControllerTest < ActionDispatch::IntegrationTest
  def test_print_root_path_to_console
    get('/')
    puts response.body
  end
end

Included modules

  • ActionDispatch::Http::Cache::Response
  • ActionDispatch::Http::FilterRedirect
  • MonitorMixin
  • Rack::Response::Helpers

Constants

CONTENT_TYPE = "Content-Type"

CONTENT_TYPE_PARSER = /\n\\A\n(?<mime_type>[^;\\s]+\\s*(?:;\\s*(?:(?!charset)[^;\\s])+)*)?\n(?:;\\s*charset=(?<quote>"?)(?<charset>[^;\\s]+)\\k<quote>)?\n/x

ContentTypeHeader = Struct.new :mime_type, :charset

Header = Headers

Headers = ::Rack::Headers

NO_CONTENT_CODES = [100, 101, 102, 103, 204, 205, 304]

NullContentTypeHeader = ContentTypeHeader.new nil, nil

SET_COOKIE = "Set-Cookie"

Attributes

[R]header
[R]headers
[RW]request
[R]status
[R]stream

Files

  • actionpack/lib/action_dispatch/http/response.rb