<br>I've had this problem aswell, as Ingela said elsewhere the fix is coming in the next release of erlang. Until then you can use this version of whole_body in httpc_response.erl:<br><br>whole_body(Body, Length) -><br>
    case size(Body) of<br>        N when N < Length, N > 0 -><br>            {?MODULE, whole_body, [Body, Length]};<br>        %% OBS!  The Server may close the connection to indicate that the<br>        %% whole body is now sent instead of sending an lengh
<br>        %% indicator.In this case the lengh indicator will be<br>        %% 0 but N > 0 and we want to match the last branch in<br>        %% this function as the connection is not yet closed.<br>        N when N >= Length, Length > 0 ->
<br>            %% Potential trailing garbage will be thrown away in<br>            %% format_response/1 Some servers may send a 100-continue<br>            %% response without the client requesting it through an<br>            %% expect header in this case the trailing bytes may be
<br>            %% part of the real response message.<br>            {ok, Body};<br>        0 when 0 == Length -> %% The body is empty<br>            {ok, Body};<br>        _ -><br>            {?MODULE, whole_body, [Body, Length]}
<br>    end.<br><br>/tobias<br><br><br><div><span class="gmail_quote">On 10/18/06, <b class="gmail_sendername">Brad Marshall</b> <<a href="mailto:brad@howdywave.com">brad@howdywave.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I'm calling a web service with a PUT via http:request/6.  The PUT results in<br>a 200 and a content length of zero.  The zero-length response seems to be<br>causing the request to hang until the keepalive timeout expires and the
<br>socket closes.  If I make the change below then the PUT works perfectly:<br><br>diff httpc_response.erl httpc_response.erl.original<br>61c61<br><       N when N >= Length -><br>---<br>>       N when N >= Length, Length > 0 ->
<br><br>I'm new to Erlang so please point me in the right direction if I'm off base.<br> I've checked the RFC and it seems valid for a PUT to have a zero-length<br>response.  Oh, and I tried this in ibrowse and it worked perfectly, but I'd
<br>much rather use a built-in if possible.<br><br>Any tips on solving this are greatly appreciated.<br><br>Thanks,<br>brad<br><br>________________________________________________<br>Message sent using UebiMiau 2.7.9<br><br>
<br>_______________________________________________<br>erlang-questions mailing list<br><a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br><a href="http://www.erlang.org/mailman/listinfo/erlang-questions">
http://www.erlang.org/mailman/listinfo/erlang-questions</a><br></blockquote></div><br>