anchor.diff:  -type urn() :: string().
   -type method() :: http_client:method().
   -type headers() :: http_client:headers().
  --type body() :: http_client:body().
  +-type request_body() :: http_client:request_body().
   -type opts() :: http_client:opts() | [{endpoint, rest | rest_no_auth | gui}].
   -type response() :: http_client:response().
   -type params() :: [{Key :: binary(), Value :: binary() | [binary()]}] | map().
  
positive.code: %% @end
  %%--------------------------------------------------------------------
  -spec request(Auth :: auth(), URN :: urn(), Method :: method(),
      Body :: body()) -> Response :: response().
  request(Auth, URN, Method, Body) ->
      ?MODULE:request(Auth, URN, Method, Body, []).
  
  
negative.code: %% @end
  %%--------------------------------------------------------------------
  -spec request(Auth :: auth(), URN :: urn(), Method :: method(),
      Body :: request_body(), Opts :: opts()) -> Response :: response().
  request(Auth, URN, Method, Body, Opts) ->
      ?MODULE:request(Auth, URN, Method, #{}, Body, Opts).
  
  