You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by fd...@apache.org on 2010/09/11 13:57:22 UTC
svn commit: r996127 -
/couchdb/branches/new_replicator/src/couchdb/couch_api_wrap_httpc.erl
Author: fdmanana
Date: Sat Sep 11 11:57:21 2010
New Revision: 996127
URL: http://svn.apache.org/viewvc?rev=996127&view=rev
Log:
New replicator: added error handling for streamming response.
Modified:
couchdb/branches/new_replicator/src/couchdb/couch_api_wrap_httpc.erl
Modified: couchdb/branches/new_replicator/src/couchdb/couch_api_wrap_httpc.erl
URL: http://svn.apache.org/viewvc/couchdb/branches/new_replicator/src/couchdb/couch_api_wrap_httpc.erl?rev=996127&r1=996126&r2=996127&view=diff
==============================================================================
--- couchdb/branches/new_replicator/src/couchdb/couch_api_wrap_httpc.erl (original)
+++ couchdb/branches/new_replicator/src/couchdb/couch_api_wrap_httpc.erl Sat Sep 11 11:57:21 2010
@@ -111,7 +111,7 @@ report_error(Worker, HttpDb, Params, Err
Url = strip_creds(full_url(HttpDb, Params)),
do_report_error(Url, Method, Error),
stop_worker(Worker),
- exit({http_request_failed, Method, Url}).
+ exit({http_request_failed, Method, Url, Error}).
do_report_error(FullUrl, Method, {reason, Reason}) ->
@@ -129,7 +129,10 @@ do_report_error(Url, Method, {timeout, T
stream_data_self(HttpDb, Params, Worker, ReqId) ->
ibrowse:stream_next(ReqId),
- receive {ibrowse_async_response, ReqId, Data} ->
+ receive
+ {ibrowse_async_response, ReqId, {error, Error}} ->
+ report_error(Worker, HttpDb, Params, {reason, Error});
+ {ibrowse_async_response, ReqId, Data} ->
{Data, fun() -> stream_data_self(HttpDb, Params, Worker, ReqId) end};
{ibrowse_async_response_end, ReqId} ->
{<<>>, fun() -> stream_data_self(HttpDb, Params, Worker, ReqId) end}