2007-05-14 20:08:05 -04:00
|
|
|
require 'cgi'
|
|
|
|
|
2005-01-20 09:55:13 -05:00
|
|
|
class CGI #:nodoc:
|
|
|
|
module QueryExtension
|
2007-01-28 02:16:55 -05:00
|
|
|
# Remove the old initialize_query method before redefining it.
|
|
|
|
remove_method :initialize_query
|
|
|
|
|
2007-05-18 02:24:50 -04:00
|
|
|
# Neuter CGI parameter parsing.
|
2006-05-31 20:01:48 -04:00
|
|
|
def initialize_query
|
|
|
|
# Fix some strange request environments.
|
2007-05-18 02:24:50 -04:00
|
|
|
env_table['REQUEST_METHOD'] ||= 'GET'
|
2005-07-23 05:00:05 -04:00
|
|
|
|
2006-05-31 20:01:48 -04:00
|
|
|
# POST assumes missing Content-Type is application/x-www-form-urlencoded.
|
2007-05-18 02:24:50 -04:00
|
|
|
if env_table['CONTENT_TYPE'].blank? && env_table['REQUEST_METHOD'] == 'POST'
|
|
|
|
env_table['CONTENT_TYPE'] = 'application/x-www-form-urlencoded'
|
2005-01-20 09:55:13 -05:00
|
|
|
end
|
2006-05-31 20:01:48 -04:00
|
|
|
|
2007-05-18 02:24:50 -04:00
|
|
|
@cookies = CGI::Cookie::parse(env_table['HTTP_COOKIE'] || env_table['COOKIE'])
|
|
|
|
@params = {}
|
2005-01-20 09:55:13 -05:00
|
|
|
end
|
2007-05-18 02:24:50 -04:00
|
|
|
end
|
2005-01-25 06:15:26 -05:00
|
|
|
end
|