Sun Mar 18 08:58:18 2001 Wakou Aoyama <wakou@fsinet.or.jp>

* lib/net/cgi.rb: // === '' --> //.match('')

	* lib/net/cgi.rb: cgi#header(): improvement for mod_ruby.

	* lib/net/cgi.rb: cgi#rfc1123date(): improvement.
	  thanks to TADA Tadashi <sho@spc.gr.jp>.

	* lib/net/cgi.rb: cgi#rfc1123date(): document bug fix.
	  thanks to Kazuhiro NISHIYAMA <zn@mbf.nifty.com>.

	* lib/net/cgi.rb: cgi#header(): bug fix.
	  thanks to IWATSUKI Hiroyuki <don@na.rim.or.jp>.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1258 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
wakou 2001-03-18 00:01:57 +00:00
Родитель b842d5f571
Коммит 20d29693ac
2 изменённых файлов: 35 добавлений и 20 удалений

Просмотреть файл

@ -1,3 +1,18 @@
Sun Mar 18 08:58:18 2001 Wakou Aoyama <wakou@fsinet.or.jp>
* lib/net/cgi.rb: // === '' --> //.match('')
* lib/net/cgi.rb: cgi#header(): improvement for mod_ruby.
* lib/net/cgi.rb: cgi#rfc1123date(): improvement.
thanks to TADA Tadashi <sho@spc.gr.jp>.
* lib/net/cgi.rb: cgi#rfc1123date(): document bug fix.
thanks to Kazuhiro NISHIYAMA <zn@mbf.nifty.com>.
* lib/net/cgi.rb: cgi#header(): bug fix.
thanks to IWATSUKI Hiroyuki <don@na.rim.or.jp>.
Thu Mar 15 01:28:02 2001 Yukihiro Matsumoto <matz@ruby-lang.org>
* dir.c (dir_s_chdir): block form of Dir.chdir. (RCR#U016).

Просмотреть файл

@ -4,7 +4,7 @@
cgi.rb - cgi support library
Version 2.1.3
Version 2.1.4
Copyright (C) 2000 Network Applied Communication Laboratory, Inc.
@ -186,12 +186,12 @@ class CGI
LF = "\012"
EOL = CR + LF
VERSION = '2.1.3'
RELEASE_DATE = '2001-02-26'
VERSION_CODE = 213
RELEASE_CODE = 20010226
RELEASE_DATE = '2001-03-18'
VERSION_CODE = 214
RELEASE_CODE = 20010318
REVISION = '$Id$'
NEEDS_BINMODE = true if /WIN/ni === RUBY_PLATFORM
NEEDS_BINMODE = true if /WIN/ni.match(RUBY_PLATFORM)
PATH_SEPARATOR = {'UNIX'=>'/', 'WINDOWS'=>'\\', 'MACINTOSH'=>':'}
HTTP_STATUS = {
@ -351,11 +351,11 @@ class CGI
=begin
=== MAKE RFC1123 DATE STRING
CGI::rfc1123_date(Time.now)
# Sat, 1 Jan 2000 00:00:00 GMT
# Sat, 01 Jan 2000 00:00:00 GMT
=end
def CGI::rfc1123_date(time)
t = time.clone.gmtime
return format("%s, %.2d %s %d %.2d:%.2d:%.2d GMT",
return format("%s, %.2d %s %.4d %.2d:%.2d:%.2d GMT",
RFC822_DAYS[t.wday], t.day, RFC822_MONTHS[t.month-1], t.year,
t.hour, t.min, t.sec)
end
@ -424,7 +424,8 @@ status:
options["type"].concat( options.delete("charset") )
end
if options.delete("nph") or (/IIS/n === env_table['SERVER_SOFTWARE'])
options.delete("nph") if MOD_RUBY
if options.delete("nph") or /IIS/n.match(env_table['SERVER_SOFTWARE'])
buf.concat( (env_table["SERVER_PROTOCOL"] or "HTTP/1.0") + " " )
buf.concat( (HTTP_STATUS[options["status"]] or
options["status"] or
@ -447,7 +448,7 @@ status:
end
if options.has_key?("status")
status = HTTP_STATUS[options["status"]] or options["status"]
status = (HTTP_STATUS[options["status"]] or options["status"])
buf.concat("Status: " + status + EOL)
options.delete("status")
end
@ -809,9 +810,9 @@ convert string charset, and set language to "ja".
body = Tempfile.new("CGI")
body.binmode
until head and (/#{boundary}(?:#{EOL}|--)/n === buf)
until head and /#{boundary}(?:#{EOL}|--)/n.match(buf)
if (not head) and (/#{EOL}#{EOL}/n === buf)
if (not head) and /#{EOL}#{EOL}/n.match(buf)
buf = buf.sub(/\A((?:.|\n)*?#{EOL})#{EOL}/n) do
head = $1.dup
""
@ -850,14 +851,14 @@ convert string charset, and set language to "ja".
end
END
/Content-Disposition:.* filename="?([^\";]*)"?/ni === head
/Content-Disposition:.* filename="?([^\";]*)"?/ni.match(head)
eval <<-END
def body.original_filename
#{
filename = ($1 or "").dup
if (/Mac/ni === env_table['HTTP_USER_AGENT']) and
(/Mozilla/ni === env_table['HTTP_USER_AGENT']) and
(not /MSIE/ni === env_table['HTTP_USER_AGENT'])
if /Mac/ni.match(env_table['HTTP_USER_AGENT']) and
/Mozilla/ni.match(env_table['HTTP_USER_AGENT']) and
(not /MSIE/ni.match(env_table['HTTP_USER_AGENT']))
CGI::unescape(filename)
else
filename
@ -866,14 +867,14 @@ convert string charset, and set language to "ja".
end
END
/Content-Type: (.*)/ni === head
/Content-Type: (.*)/ni.match(head)
eval <<-END
def body.content_type
#{($1 or "").dump.untaint}.taint
end
END
/Content-Disposition:.* name="?([^\";]*)"?/ni === head
/Content-Disposition:.* name="?([^\";]*)"?/ni.match(head)
name = $1.dup
if params.has_key?(name)
@ -905,7 +906,7 @@ convert string charset, and set language to "ja".
words = Shellwords.shellwords(string)
if words.find{|x| /=/n === x }
if words.find{|x| /=/n.match(x) }
words.join('&')
else
words.join('+')
@ -915,8 +916,7 @@ convert string charset, and set language to "ja".
def initialize_query()
if ("POST" == env_table['REQUEST_METHOD']) and
(%r|\Amultipart/form-data.*boundary=\"?([^\";,]+)\"?|n ===
env_table['CONTENT_TYPE'])
(%r|\Amultipart/form-data.*boundary=\"?([^\";,]+)\"?|n.match(env_table['CONTENT_TYPE'])
boundary = $1.dup
@params = read_multipart(boundary, Integer(env_table['CONTENT_LENGTH']))
else