Hi,

In the report.log of our yaws application, we found the error message below: 


Unhandled reply fr. do_recv() {ok,{http_error,"\r\n"}}

I guess it was from the code block in yaws.erl:

http_recv_request(CliSock, SSL) ->
   setopts(CliSock, [{packet, http}], SSL),
   case do_recv(CliSock, 0,  SSL) of
       {ok, R} when is_record(R, http_request) ->
           R;
       {ok, R} when is_record(R, http_response) ->
           R;
       {_, {http_error, "\r\n"}} ->
           http_recv_request(CliSock, SSL);
       {_, {http_error, "\n"}} ->
           http_recv_request(CliSock,SSL);
       {_, {http_error, _}} ->
           bad_request;
       {error, closed} -> 
           closed;
       {error, timeout} -> closed;
       _Other ->
           error_logger:format("Unhandled reply fr. do_recv() ~p~n", [_Other]),
           exit(normal)
   end.

But I am wondering shouldn't the received message be match at case {_, {http_error, "\r\n"}} . How could it reach the final case?

BR

cao.xu