Issue #8182 has been updated by Eregon (Benoit Daloze).


naruse (Yui NARUSE) wrote:
> Maybe I misunderstood, why is the assertion is needed?
> I feel it should be simply removed.
> 
> Moreover chunked encoded response doesn't have Content-Length header.
> So it sounds nonsense.

I agree, it does not seem XMLRPC's job to check Content-Length.

Could we please solve this issue promptly?
Such a bad bug should not be left opened for long,
it encourages users to use workarounds like above which is really not a proper solution.
----------------------------------------
Bug #8182: XMLRPC request fails with "Wrong size. Was 31564, should be 1501"
https://bugs.ruby-lang.org/issues/8182#change-40473

Author: tsagadar (Marcel Mueller)
Status: Assigned
Priority: High
Assignee: naruse (Yui NARUSE)
Category: core
Target version: current: 2.1.0
ruby -v: ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-darwin12.2.1]
Backport: 


Since upgrading to Ruby 2.0.0p0 we can no longer use MailChimp through the Hominid gem. Hominid relies on the Ruby XMLRPC client to access MailChimp.

Debugging the issues revealed the following problem: net/http/response.rb transparently deflates the response body, removes the "content-encoding" response header (response.rb:255), but does not adjust the "content-length" header accordingly. This makes xmlrpc/client.rb:506 raise the error, that the response body and the declared length in "content-length" does not match.

I propose a high priority for this issue for two reason:
- The problem should occur whenever Ruby XMLRPC is used to access a service that supports content encoding with "deflate", "gzip", or "x-gzip"
- I don't see a workaround to this problem that could be used



-- 
http://bugs.ruby-lang.org/