diff options
author | shugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-08-12 08:06:49 +0000 |
---|---|---|
committer | shugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-08-12 08:06:49 +0000 |
commit | f988bf17bb4613803060bf5579e8ffe61b5a17b5 (patch) | |
tree | 68ce75677caeee7d6c087461672686477f8068c2 /lib/xmlrpc | |
parent | e199582e24a5b8233380502e550019bd3055189e (diff) |
* backport r32856 from trunk.
* lib/xmlrpc/client.rb, lib/xmlrpc/server.rb: should use
String#bytesize instead of String#size.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@32947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/xmlrpc')
-rw-r--r-- | lib/xmlrpc/client.rb | 10 | ||||
-rw-r--r-- | lib/xmlrpc/server.rb | 14 |
2 files changed, 12 insertions, 12 deletions
diff --git a/lib/xmlrpc/client.rb b/lib/xmlrpc/client.rb index c09a9514d6..968292b077 100644 --- a/lib/xmlrpc/client.rb +++ b/lib/xmlrpc/client.rb @@ -501,7 +501,7 @@ module XMLRPC header = { "User-Agent" => USER_AGENT, "Content-Type" => "text/xml; charset=utf-8", - "Content-Length" => request.size.to_s, + "Content-Length" => request.bytesize.to_s, "Connection" => (async ? "close" : "keep-alive") } @@ -559,10 +559,10 @@ module XMLRPC end expected = resp["Content-Length"] || "<unknown>" - if data.nil? or data.size == 0 - raise "Wrong size. Was #{data.size}, should be #{expected}" - elsif expected != "<unknown>" and expected.to_i != data.size and resp["Transfer-Encoding"].nil? - raise "Wrong size. Was #{data.size}, should be #{expected}" + if data.nil? or data.bytesize == 0 + raise "Wrong size. Was #{data.bytesize}, should be #{expected}" + elsif expected != "<unknown>" and expected.to_i != data.bytesize and resp["Transfer-Encoding"].nil? + raise "Wrong size. Was #{data.bytesize}, should be #{expected}" end set_cookies = resp.get_fields("Set-Cookie") diff --git a/lib/xmlrpc/server.rb b/lib/xmlrpc/server.rb index b7345cd9d6..b7215385ad 100644 --- a/lib/xmlrpc/server.rb +++ b/lib/xmlrpc/server.rb @@ -456,7 +456,7 @@ class CGIServer < BasicServer $stdin.binmode if $stdin.respond_to? :binmode data = $stdin.read(length) - http_error(400, "Bad Request") if data.nil? or data.size != length + http_error(400, "Bad Request") if data.nil? or data.bytesize != length http_write(process(data), "Content-type" => "text/xml; charset=utf-8") } @@ -487,7 +487,7 @@ class CGIServer < BasicServer h = {} header.each {|key, value| h[key.to_s.capitalize] = value} h['Status'] ||= "200 OK" - h['Content-length'] ||= body.size.to_s + h['Content-length'] ||= body.bytesize.to_s str = "" h.each {|key, value| str << "#{key}: #{value}\r\n"} @@ -531,7 +531,7 @@ class ModRubyServer < BasicServer @ap.binmode data = @ap.read(length) - http_error(400, "Bad Request") if data.nil? or data.size != length + http_error(400, "Bad Request") if data.nil? or data.bytesize != length http_write(process(data), 200, "Content-type" => "text/xml; charset=utf-8") } @@ -562,7 +562,7 @@ class ModRubyServer < BasicServer h = {} header.each {|key, value| h[key.to_s.capitalize] = value} h['Status'] ||= "200 OK" - h['Content-length'] ||= body.size.to_s + h['Content-length'] ||= body.bytesize.to_s h.each {|key, value| @ap.headers_out[key] = value } @ap.content_type = h["Content-type"] @@ -751,17 +751,17 @@ class WEBrickServlet < BasicServer data = request.body - if data.nil? or data.size != length + if data.nil? or data.bytesize != length raise WEBrick::HTTPStatus::BadRequest end resp = process(data) - if resp.nil? or resp.size <= 0 + if resp.nil? or resp.bytesize <= 0 raise WEBrick::HTTPStatus::InternalServerError end response.status = 200 - response['Content-Length'] = resp.size + response['Content-Length'] = resp.bytesize response['Content-Type'] = "text/xml; charset=utf-8" response.body = resp end |