From d40bafa47ec2541ea5c3a633e1d475292f0874dd Mon Sep 17 00:00:00 2001 From: shyouhei Date: Sat, 7 Jun 2008 16:54:15 +0000 Subject: merge revision(s) 13771: Merged 13767, 13768, 13769, and 13770 from trunk. * lib/xmlrpc/parser.rb (XMLRPC::Convert::dateTime): Fixing a bug that caused time zone conversion to fail for some ISO 8601 date formats. [ruby-Bugs-12677] * lib/xmlrpc/client.rb (XMLRPC::Client#do_rpc): Explicitly start the HTTP connection to support keepalive requests. [ruby-Bugs-9353] * lib/xmlrpc/client.rb (XMLRPC::Client#do_rpc): Improving the error message for Content-Type check failures. [ruby-core:12163] * lib/xmlrpc/utils.rb (XMLRPC::ParseContentType#parse_content_type): Making Content-Type checks case insensitive. [ruby-Bugs-3367] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_6@16907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 17 +++++++++++++++++ lib/xmlrpc/client.rb | 7 +++++-- lib/xmlrpc/parser.rb | 4 ++-- lib/xmlrpc/utils.rb | 2 +- version.h | 2 +- 5 files changed, 26 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2e1753e730..0563843fdc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,20 @@ +Sun Jun 8 01:53:50 2008 James Edward Gray II + + Merged 13767, 13768, 13769, and 13770 from trunk. + + * lib/xmlrpc/parser.rb (XMLRPC::Convert::dateTime): Fixing a bug that + caused time zone conversion to fail for some ISO 8601 date formats. + [ruby-Bugs-12677] + + * lib/xmlrpc/client.rb (XMLRPC::Client#do_rpc): Explicitly start + the HTTP connection to support keepalive requests. [ruby-Bugs-9353] + + * lib/xmlrpc/client.rb (XMLRPC::Client#do_rpc): Improving the error + message for Content-Type check failures. [ruby-core:12163] + + * lib/xmlrpc/utils.rb (XMLRPC::ParseContentType#parse_content_type): + Making Content-Type checks case insensitive. [ruby-Bugs-3367] + Sun Jun 8 01:50:07 2008 Nobuyoshi Nakada * marshal.c (r_bytes0): refined length check. [ruby-dev:32059] diff --git a/lib/xmlrpc/client.rb b/lib/xmlrpc/client.rb index 10f547b632..726945ea39 100644 --- a/lib/xmlrpc/client.rb +++ b/lib/xmlrpc/client.rb @@ -530,6 +530,9 @@ module XMLRPC } else # reuse the HTTP object for each call => connection alive is possible + # we must start connection explicitely first time so that http.request + # does not assume that we don't want keepalive + @http.start if not @http.started? # post request resp = @http.post2(@path, request, header) @@ -549,9 +552,9 @@ module XMLRPC ct = parse_content_type(resp["Content-Type"]).first if ct != "text/xml" if ct == "text/html" - raise "Wrong content-type: \n#{data}" + raise "Wrong content-type (received '#{ct}' but expected 'text/xml'): \n#{data}" else - raise "Wrong content-type" + raise "Wrong content-type (received '#{ct}' but expected 'text/xml')" end end diff --git a/lib/xmlrpc/parser.rb b/lib/xmlrpc/parser.rb index d27d7c3827..6d10fde9d9 100644 --- a/lib/xmlrpc/parser.rb +++ b/lib/xmlrpc/parser.rb @@ -92,7 +92,7 @@ module XMLRPC if $7 ofs = $8.to_i*3600 + $9.to_i*60 ofs = -ofs if $7=='+' - utc = Time.utc(a.reverse) + ofs + utc = Time.utc(*a) + ofs a = [ utc.year, utc.month, utc.day, utc.hour, utc.min, utc.sec ] end XMLRPC::DateTime.new(*a) @@ -106,7 +106,7 @@ module XMLRPC if $7 ofs = $8.to_i*3600 + $9.to_i*60 ofs = -ofs if $7=='+' - utc = Time.utc(a.reverse) + ofs + utc = Time.utc(*a) + ofs a = [ utc.year, utc.month, utc.day, utc.hour, utc.min, utc.sec ] end XMLRPC::DateTime.new(*a) diff --git a/lib/xmlrpc/utils.rb b/lib/xmlrpc/utils.rb index 85c6bba372..f0966fee40 100644 --- a/lib/xmlrpc/utils.rb +++ b/lib/xmlrpc/utils.rb @@ -157,7 +157,7 @@ module XMLRPC module ParseContentType def parse_content_type(str) a, *b = str.split(";") - return a.strip, *b + return a.strip.downcase, *b end end diff --git a/version.h b/version.h index 69edc758eb..8a00897db2 100644 --- a/version.h +++ b/version.h @@ -2,7 +2,7 @@ #define RUBY_RELEASE_DATE "2008-06-08" #define RUBY_VERSION_CODE 186 #define RUBY_RELEASE_CODE 20080608 -#define RUBY_PATCHLEVEL 135 +#define RUBY_PATCHLEVEL 136 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 8 -- cgit v1.2.3