From 8dfdac84c1325ebad90322f69ecc8ec16d831f84 Mon Sep 17 00:00:00 2001 From: Mistagrooves Date: Tue, 21 Feb 2012 12:49:45 -0500 Subject: [PATCH 1/4] A body generating function returning 0 data looks to the end server as the end of the entity which it shouldn't --- src/ibrowse_http_client.erl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/ibrowse_http_client.erl b/src/ibrowse_http_client.erl index 81322fd..c01a12b 100644 --- a/src/ibrowse_http_client.erl +++ b/src/ibrowse_http_client.erl @@ -562,6 +562,10 @@ do_send_body(Body, State, _TE) -> do_send_body1(Source, Resp, State, TE) -> case Resp of + {ok, <<>>} -> + do_send_body({Source}, State, TE); + {ok, <<>>, New_source_state} -> + do_send_body({Source, New_source_state}, State, TE); {ok, Data} -> do_send(maybe_chunked_encode(Data, TE), State), do_send_body({Source}, State, TE); From 2c709e3cad55f3fb3c8eb3621bdf6342ab8e8e7b Mon Sep 17 00:00:00 2001 From: Mistagrooves Date: Tue, 21 Feb 2012 13:05:55 -0500 Subject: [PATCH 2/4] Accounted for empty lists as well --- src/ibrowse_http_client.erl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/ibrowse_http_client.erl b/src/ibrowse_http_client.erl index c01a12b..5211630 100644 --- a/src/ibrowse_http_client.erl +++ b/src/ibrowse_http_client.erl @@ -566,6 +566,10 @@ do_send_body1(Source, Resp, State, TE) -> do_send_body({Source}, State, TE); {ok, <<>>, New_source_state} -> do_send_body({Source, New_source_state}, State, TE); + {ok, []} -> + do_send_body({Source}, State, TE); + {ok, [], New_source_state} -> + do_send_body({Source, New_source_state}, State, TE); {ok, Data} -> do_send(maybe_chunked_encode(Data, TE), State), do_send_body({Source}, State, TE); From 7a8e53d855d46f0e48bc78d99c81fc9620368489 Mon Sep 17 00:00:00 2001 From: Mistagrooves Date: Wed, 22 Feb 2012 17:17:17 -0500 Subject: [PATCH 3/4] Updated method of checking for empty --- rebar.bat | 4 ++++ src/ibrowse_http_client.erl | 10 +++------- 2 files changed, 7 insertions(+), 7 deletions(-) create mode 100644 rebar.bat diff --git a/rebar.bat b/rebar.bat new file mode 100644 index 0000000..87e1e1a --- /dev/null +++ b/rebar.bat @@ -0,0 +1,4 @@ +@echo off +setlocal +set rebarscript=%~f0 +"C:\Program Files (x86)\erl5.8.4\bin\escript.exe" "%rebarscript:.bat=%" %* diff --git a/src/ibrowse_http_client.erl b/src/ibrowse_http_client.erl index 5211630..4ad962f 100644 --- a/src/ibrowse_http_client.erl +++ b/src/ibrowse_http_client.erl @@ -562,17 +562,13 @@ do_send_body(Body, State, _TE) -> do_send_body1(Source, Resp, State, TE) -> case Resp of - {ok, <<>>} -> + {ok, Data} when Data == []; Data == <<>> -> do_send_body({Source}, State, TE); - {ok, <<>>, New_source_state} -> - do_send_body({Source, New_source_state}, State, TE); - {ok, []} -> - do_send_body({Source}, State, TE); - {ok, [], New_source_state} -> - do_send_body({Source, New_source_state}, State, TE); {ok, Data} -> do_send(maybe_chunked_encode(Data, TE), State), do_send_body({Source}, State, TE); + {ok, Data, New_source_state} when Data == []; Data == <<>> -> + do_send_body({Source, New_source_state}, State, TE); {ok, Data, New_source_state} -> do_send(maybe_chunked_encode(Data, TE), State), do_send_body({Source, New_source_state}, State, TE); From 5f9d0270ccb0b0ebd55219669ca9dd7d08fb8d60 Mon Sep 17 00:00:00 2001 From: Mistagrooves Date: Wed, 22 Feb 2012 17:21:38 -0500 Subject: [PATCH 4/4] mistakenly added rebar.bat --- rebar.bat | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 rebar.bat diff --git a/rebar.bat b/rebar.bat deleted file mode 100644 index 87e1e1a..0000000 --- a/rebar.bat +++ /dev/null @@ -1,4 +0,0 @@ -@echo off -setlocal -set rebarscript=%~f0 -"C:\Program Files (x86)\erl5.8.4\bin\escript.exe" "%rebarscript:.bat=%" %*