anchor.diff:  %% @doc Decode the response body and return a list
   %% @end
   %%
  -decode_body([]) -> [];
  -decode_body(Body) ->
  +decode_body(_, []) -> [];
  +decode_body(?CONTENT_JSON, Body) ->
     case rabbit_misc:json_decode(autocluster_util:as_string(Body)) of
       {ok, Value} -> Value;
       error       -> []
  
positive.code:   build_path(Args, []).
  
  
  %% @private
  %% @spec build_path(string(), string()) -> string()
  %% @doc Build the path from a list of segments
  %% @end
  
negative.code: build_path([], Path) -> Path.
  
  
  %% @public
  %% @spec build_uri(Scheme, Host, Port, Path, QArgs) -> string()
  %% where Scheme = string()
  %%       Host = string()
  %%       Port = integer()
  %%       Path = string()
  %%       QArgs = proplist()
  %% @doc Build the request URI
  %% @end
  %%
  build_uri(Scheme, Host, Port, Path, QArgs) ->
    build_uri(string:join([Scheme, "://", Host, ":", autocluster_util:as_string(Port)], ""), Path, QArgs).
  
  
  %% @public
  %% @spec build_uri(string(), string(), proplist()) -> string()
  %% @doc Build the requst URI for the given base URI, path and query args
  %% @end
  %%
  build_uri(Base, Path, []) ->
    string:join([Base, build_path(Path)], "");
  build_uri(Base, Path, QArgs) ->
    string:join([Base, string:join([build_path(Path),
                                    build_query(QArgs)], "?")], "").
  
  
  %% @public
  %% @spec build_query(proplist()) -> string()
  %% @doc Build the query parameters string from a proplist
  %% @end
  