Module: CGI::QueryExtension
- Defined in:
- lib/action_controller/cgi_ext/raw_post_data_fix.rb,
lib/action_controller/cgi_ext/multipart_progress.rb
Overview
:nodoc:
Class Method Summary collapse
-
.extended(obj) ⇒ Object
Need to do lazy aliasing on the instance that we are extending because of the way QueryExtension gets included for each instance of the CGI object rather than on a module level.
Instance Method Summary collapse
-
#initialize_query ⇒ Object
Initialize the data from the query.
- #stdinput_with_progress ⇒ Object
Class Method Details
.extended(obj) ⇒ Object
Need to do lazy aliasing on the instance that we are extending because of the way QueryExtension gets included for each instance of the CGI object rather than on a module level. This method is a bit obtrusive because we are overriding CGI::QueryExtension::extended which could be used in the future. Need to research a better method
105 106 107 108 109 110 111 |
# File 'lib/action_controller/cgi_ext/multipart_progress.rb', line 105 def self.extended(obj) obj.instance_eval do # unless defined? will prevent clobbering the progress IO on multiple extensions alias :stdinput_without_progress :stdinput unless defined? stdinput_without_progress alias :stdinput :stdinput_with_progress end end |
Instance Method Details
#initialize_query ⇒ Object
Initialize the data from the query.
Handles multipart forms (in particular, forms that involve file uploads). Reads query parameters in the @params field, and cookies into @cookies.
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/action_controller/cgi_ext/raw_post_data_fix.rb', line 8 def initialize_query() @cookies = CGI::Cookie::parse(env_table['HTTP_COOKIE'] || env_table['COOKIE']) #fix some strange request environments if method = env_table['REQUEST_METHOD'] method = method.to_s.downcase.intern else method = :get end if method == :post && (boundary = multipart_form_boundary) @multipart = true @params = read_multipart(boundary, Integer(env_table['CONTENT_LENGTH'])) else @multipart = false @params = CGI::parse(read_query_params(method) || "") end end |
#stdinput_with_progress ⇒ Object
113 114 115 |
# File 'lib/action_controller/cgi_ext/multipart_progress.rb', line 113 def stdinput_with_progress @stdin_with_progress or stdinput_without_progress end |