anchor.diff:  %% API
   
   -export([rest_url/3,
  +         rest_url/4,
            json_request_hilevel/3,
            json_request_hilevel/4]).
   
  --spec rest_url(string(), string() | integer(), string()) -> string().
  -rest_url(Host, Port, Path) when is_integer(Port) ->
  -    rest_url(Host, integer_to_list(Port), Path);
  +-spec rest_url(string(), string() | integer(), string(), string()) -> string().
  +rest_url(Host, Port, Path, Scheme) when is_integer(Port) ->
  +    rest_url(Host, integer_to_list(Port), Path, Scheme);
  +rest_url(Host, Port, Path, Scheme) ->
  +    Scheme ++ "://" ++ Host ++ ":" ++ Port ++ Path.
  +
   rest_url(Host, Port, Path) ->
  -    "http://" ++ Host ++ ":" ++ Port ++ Path.
  +    rest_url(Host, Port, Path, "http").
   
   rest_add_auth(Headers, {User, Password}) ->
       UserPassword = base64:encode_to_string(User ++ ":" ++ Password),
  
positive.code: 
  -spec json_request_hilevel(atom(),
                             {string(), string() | integer(), string(), string(), iolist()}
                             | {string(), string() | integer(), string()},
                             undefined | {string(), string()},
                             [any()]) ->
                                    %% json response payload
  
negative.code: json_request_hilevel(Method, {Host, Port, Path}, Auth, HTTPOptions) ->
      URL = rest_url(Host, Port, Path),
      RV = rest_request(Method, URL, [], undefined, [], Auth, HTTPOptions),
      decode_json_response_ext(RV, Method, {Host, Port, Path, [], []});
  json_request_hilevel(Method, {URL, {Host, Port, Path}}, Auth, HTTPOptions) ->
      RV = rest_request(Method, URL, [], undefined, [], Auth, HTTPOptions),
      decode_json_response_ext(RV, Method, {Host, Port, Path, [], []}).
  
  json_request_hilevel(Method, Request, Auth) ->
  