From 718f7f3b1dadab9e9cbc037b2c57369cf682f0c1 Mon Sep 17 00:00:00 2001 From: shyouhei Date: Sat, 7 Jun 2008 16:52:33 +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_5@16905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/xmlrpc/client.rb | 7 +++++-- lib/xmlrpc/parser.rb | 4 ++-- lib/xmlrpc/utils.rb | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) (limited to 'lib') diff --git a/lib/xmlrpc/client.rb b/lib/xmlrpc/client.rb index 4d23e31e3e..b3682f6b09 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 e4f21edec6..7490f34e84 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 b0a4a0d987..2b51083c78 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 -- cgit v1.2.3