diff options
Diffstat (limited to 'src/couch_replicator/src/couch_replicator_utils.erl')
-rw-r--r-- | src/couch_replicator/src/couch_replicator_utils.erl | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/couch_replicator/src/couch_replicator_utils.erl b/src/couch_replicator/src/couch_replicator_utils.erl index ccf241324..856c1b581 100644 --- a/src/couch_replicator/src/couch_replicator_utils.erl +++ b/src/couch_replicator/src/couch_replicator_utils.erl @@ -24,7 +24,8 @@ iso8601/1, filter_state/3, remove_basic_auth_from_headers/1, - normalize_rep/1 + normalize_rep/1, + ejson_state_info/1 ]). @@ -176,6 +177,19 @@ normalize_rep(#rep{} = Rep)-> }. +-spec ejson_state_info(binary() | nil) -> binary() | null. +ejson_state_info(nil) -> + null; +ejson_state_info(Info) when is_binary(Info) -> + Info; +ejson_state_info([]) -> + null; % Status not set yet => null for compatibility reasons +ejson_state_info([{_, _} | _] = Info) -> + {Info}; +ejson_state_info(Info) -> + couch_replicator_utils:rep_error_to_binary(Info). + + -ifdef(TEST). -include_lib("eunit/include/eunit.hrl"). |