Class: ActionController::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/action_controller/cgi_process.rb,
lib/action_controller/test_process.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.process_cgi(cgi = CGI.new, session_options = {}) ⇒ Object

Process a request extracted from an CGI object and return a response. Pass false as session_options to disable sessions (large performance increase if sessions are not needed). The session_options are the same as for CGI::Session:

  • :database_manager - standard options are CGI::Session::FileStore, CGI::Session::MemoryStore, and CGI::Session::PStore (default). Additionally, there is CGI::Session::DRbStore and CGI::Session::ActiveRecordStore. Read more about these in lib/action_controller/session.

  • :session_key - the parameter name used for the session id. Defaults to ‘_session_id’.

  • :session_id - the session id to use. If not provided, then it is retrieved from the session_key parameter of the request, or automatically generated for a new session.

  • :new_session - if true, force creation of a new session. If not set, a new session is only created if none currently exists. If false, a new session is never created, and if none currently exists and the session_id option is not set, an ArgumentError is raised.

  • :session_expires - the time the current session expires, as a Time object. If not set, the session will continue indefinitely.

  • :session_domain - the hostname domain for which this session is valid. If not set, defaults to the hostname of the server.

  • :session_secure - if true, this session will only work over HTTPS.

  • :session_path - the path for which this session applies. Defaults to the directory of the CGI script.



28
29
30
# File 'lib/action_controller/cgi_process.rb', line 28

def self.process_cgi(cgi = CGI.new, session_options = {}) 
  new.process_cgi(cgi, session_options)
end

.process_test(request) ⇒ Object

Process a test request called with a TestRequest object.



23
24
25
# File 'lib/action_controller/test_process.rb', line 23

def self.process_test(request)
  new.process_test(request)
end

Instance Method Details

#process_cgi(cgi, session_options = {}) ⇒ Object

:nodoc:



32
33
34
# File 'lib/action_controller/cgi_process.rb', line 32

def process_cgi(cgi, session_options = {}) #:nodoc:
  process(CgiRequest.new(cgi, session_options), CgiResponse.new(cgi)).out
end

#process_test(request) ⇒ Object

:nodoc:



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

def process_test(request) #:nodoc:
  process(request, TestResponse.new)
end