Class: ActionController::AbstractResponse

Inherits:
Object
  • Object
show all
Defined in:
lib/action_controller/response.rb

Overview

:nodoc:

Direct Known Subclasses

CgiResponse, TestResponse

Constant Summary collapse

DEFAULT_HEADERS =
{ "Cache-Control" => "no-cache" }

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeAbstractResponse

Returns a new instance of AbstractResponse.



9
10
11
# File 'lib/action_controller/response.rb', line 9

def initialize
  @body, @headers, @session, @assigns = "", DEFAULT_HEADERS.merge("cookie" => []), [], []
end

Instance Attribute Details

#assignsObject

Returns the value of attribute assigns.



7
8
9
# File 'lib/action_controller/response.rb', line 7

def assigns
  @assigns
end

#bodyObject

Returns the value of attribute body.



7
8
9
# File 'lib/action_controller/response.rb', line 7

def body
  @body
end

#cookiesObject

Returns the value of attribute cookies.



7
8
9
# File 'lib/action_controller/response.rb', line 7

def cookies
  @cookies
end

#headersObject

Returns the value of attribute headers.



7
8
9
# File 'lib/action_controller/response.rb', line 7

def headers
  @headers
end

#layoutObject

Returns the value of attribute layout.



7
8
9
# File 'lib/action_controller/response.rb', line 7

def layout
  @layout
end

#redirected_toObject

Returns the value of attribute redirected_to.



7
8
9
# File 'lib/action_controller/response.rb', line 7

def redirected_to
  @redirected_to
end

#redirected_to_method_paramsObject

Returns the value of attribute redirected_to_method_params.



7
8
9
# File 'lib/action_controller/response.rb', line 7

def redirected_to_method_params
  @redirected_to_method_params
end

#requestObject

Returns the value of attribute request.



6
7
8
# File 'lib/action_controller/response.rb', line 6

def request
  @request
end

#sessionObject

Returns the value of attribute session.



7
8
9
# File 'lib/action_controller/response.rb', line 7

def session
  @session
end

#templateObject

Returns the value of attribute template.



7
8
9
# File 'lib/action_controller/response.rb', line 7

def template
  @template
end

Instance Method Details

#charsetObject



26
27
28
29
# File 'lib/action_controller/response.rb', line 26

def charset
  charset = String(headers["Content-Type"] || headers["type"]).split(";")[1]
  charset.blank? ? nil : charset.strip.split("=")[1]
end

#charset=(encoding) ⇒ Object



22
23
24
# File 'lib/action_controller/response.rb', line 22

def charset=(encoding)
  self.headers["Content-Type"] = "#{content_type || Mime::HTML}; charset=#{encoding}"
end

#content_typeObject



17
18
19
20
# File 'lib/action_controller/response.rb', line 17

def content_type
  content_type = String(headers["Content-Type"] || headers["type"]).split(";")[0]
  content_type.blank? ? nil : content_type
end

#content_type=(mime_type) ⇒ Object



13
14
15
# File 'lib/action_controller/response.rb', line 13

def content_type=(mime_type)
  self.headers["Content-Type"] = charset ? "#{mime_type}; charset=#{charset}" : mime_type
end

#prepare!Object



38
39
40
41
42
# File 'lib/action_controller/response.rb', line 38

def prepare!
  handle_conditional_get!
  convert_content_type!
  set_content_length!
end

#redirect(to_url, response_status) ⇒ Object



31
32
33
34
35
36
# File 'lib/action_controller/response.rb', line 31

def redirect(to_url, response_status)
  self.headers["Status"] = response_status
  self.headers["Location"] = to_url.gsub(/[\r\n]/, '')

  self.body = "<html><body>You are being <a href=\"#{CGI.escapeHTML(to_url)}\">redirected</a>.</body></html>"
end