From 54b6b02a018311ce8d13d4af4ebe56232dbc5ef8 Mon Sep 17 00:00:00 2001 From: Ryan Flynn Date: Thu, 3 May 2012 14:18:12 -0400 Subject: [PATCH] handle gen_tcp:recv() HttpError response (improperly) --- src/lhttpc_client.erl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/lhttpc_client.erl b/src/lhttpc_client.erl index 2b53ebe..aaaf6e1 100644 --- a/src/lhttpc_client.erl +++ b/src/lhttpc_client.erl @@ -272,6 +272,10 @@ read_response(State, Vsn, {StatusCode, _} = Status, Hdrs) -> ReqHdrs = State#client_state.request_headers, NewSocket = maybe_close_socket(Socket, Ssl, Vsn, ReqHdrs, NewHdrs), {Response, NewSocket}; + {ok, {http_error, _HttpString}} -> + % gen_tcp:recv() returns HttpError: http://www.erlang.org/doc/man/erlang.html#decode_packet-3 + % XXX: not sure what the best action is, ignoring it works for me(!) + read_response(State, Vsn, Status, Hdrs); {error, closed} -> % Either we only noticed that the socket was closed after we % sent the request, the server closed it just after we put