aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/cgi_ext
diff options
context:
space:
mode:
authorTomK32 <tomk32@tomk32.de>2008-06-11 19:22:51 +0200
committerTomK32 <tomk32@tomk32.de>2008-06-11 19:22:51 +0200
commit6a5ac86207765e2c041378b35c05812f9bfe68b9 (patch)
tree4b341329991f2bd08c01d2f139c4c3721a8fbe25 /actionpack/lib/action_controller/cgi_ext
parentfa0cca368f74119b561595cc6ca7454f7debdf6b (diff)
parentd4b7cd99e8e7051c9d3ed6722f9627d5d4dea4e9 (diff)
downloadrails-6a5ac86207765e2c041378b35c05812f9bfe68b9.tar.gz
rails-6a5ac86207765e2c041378b35c05812f9bfe68b9.tar.bz2
rails-6a5ac86207765e2c041378b35c05812f9bfe68b9.zip
Merge branch 'master' of git@github.com:lifo/docrails
Diffstat (limited to 'actionpack/lib/action_controller/cgi_ext')
-rw-r--r--actionpack/lib/action_controller/cgi_ext/cookie.rb41
-rw-r--r--actionpack/lib/action_controller/cgi_ext/stdinput.rb1
2 files changed, 24 insertions, 18 deletions
diff --git a/actionpack/lib/action_controller/cgi_ext/cookie.rb b/actionpack/lib/action_controller/cgi_ext/cookie.rb
index a244e2a39a..009ddd1c64 100644
--- a/actionpack/lib/action_controller/cgi_ext/cookie.rb
+++ b/actionpack/lib/action_controller/cgi_ext/cookie.rb
@@ -6,25 +6,24 @@ class CGI #:nodoc:
attr_accessor :name, :value, :path, :domain, :expires
attr_reader :secure, :http_only
- # Create a new CGI::Cookie object.
+ # Creates a new CGI::Cookie object.
#
# The contents of the cookie can be specified as a +name+ and one
# or more +value+ arguments. Alternatively, the contents can
# be specified as a single hash argument. The possible keywords of
# this hash are as follows:
#
- # name:: the name of the cookie. Required.
- # value:: the cookie's value or list of values.
- # path:: the path for which this cookie applies. Defaults to the
- # base directory of the CGI script.
- # domain:: the domain for which this cookie applies.
- # expires:: the time at which this cookie expires, as a +Time+ object.
- # secure:: whether this cookie is a secure cookie or not (default to
- # false). Secure cookies are only transmitted to HTTPS
- # servers.
- # http_only:: whether this cookie can be accessed by client side scripts (e.g. document.cookie) or only over HTTP
- # More details: http://msdn2.microsoft.com/en-us/library/system.web.httpcookie.httponly.aspx
- # Defaults to false.
+ # * <tt>:name</tt> - The name of the cookie. Required.
+ # * <tt>:value</tt> - The cookie's value or list of values.
+ # * <tt>:path</tt> - The path for which this cookie applies. Defaults to the
+ # base directory of the CGI script.
+ # * <tt>:domain</tt> - The domain for which this cookie applies.
+ # * <tt>:expires</tt> - The time at which this cookie expires, as a Time object.
+ # * <tt>:secure</tt> - Whether this cookie is a secure cookie or not (defaults to
+ # +false+). Secure cookies are only transmitted to HTTPS servers.
+ # * <tt>:http_only</tt> - Whether this cookie can be accessed by client side scripts (e.g. document.cookie) or only over HTTP.
+ # More details in http://msdn2.microsoft.com/en-us/library/system.web.httpcookie.httponly.aspx. Defaults to +false+.
+ #
# These keywords correspond to attributes of the cookie object.
def initialize(name = '', *value)
if name.kind_of?(String)
@@ -56,17 +55,17 @@ class CGI #:nodoc:
super(@value)
end
- # Set whether the Cookie is a secure cookie or not.
+ # Sets whether the Cookie is a secure cookie or not.
def secure=(val)
@secure = val == true
end
- # Set whether the Cookie is an HTTP only cookie or not.
+ # Sets whether the Cookie is an HTTP only cookie or not.
def http_only=(val)
@http_only = val == true
end
- # Convert the Cookie to its string representation.
+ # Converts the Cookie to its string representation.
def to_s
buf = ''
buf << @name << '='
@@ -79,11 +78,17 @@ class CGI #:nodoc:
buf
end
- # Parse a raw cookie string into a hash of cookie-name=>Cookie
+ # FIXME: work around broken 1.8.7 DelegateClass#respond_to?
+ def respond_to?(method, include_private = false)
+ return true if super(method)
+ return __getobj__.respond_to?(method, include_private)
+ end
+
+ # Parses a raw cookie string into a hash of <tt>cookie-name => cookie-object</tt>
# pairs.
#
# cookies = CGI::Cookie::parse("raw_cookie_string")
- # # { "name1" => cookie1, "name2" => cookie2, ... }
+ # # => { "name1" => cookie1, "name2" => cookie2, ... }
#
def self.parse(raw_cookie)
cookies = Hash.new([])
diff --git a/actionpack/lib/action_controller/cgi_ext/stdinput.rb b/actionpack/lib/action_controller/cgi_ext/stdinput.rb
index b0ca63ef2f..5e9b6784af 100644
--- a/actionpack/lib/action_controller/cgi_ext/stdinput.rb
+++ b/actionpack/lib/action_controller/cgi_ext/stdinput.rb
@@ -16,6 +16,7 @@ module ActionController
def initialize_with_stdinput(type = nil, stdinput = $stdin)
@stdinput = stdinput
+ @stdinput.set_encoding(Encoding::BINARY) if @stdinput.respond_to?(:set_encoding)
initialize_without_stdinput(type || 'query')
end
end