anchor.diff:  http(Op, {Url, ReqHeaders, ContentType}, no_auth, Body, HttpOptions, Options) ->
       http(Op, {Url, ReqHeaders, ContentType, Body}, HttpOptions, Options).
   
  -http(get, {Url, ReqHeaders, _, _}, HttpOptions, Options) ->
  -    http_req(get, {Url, ReqHeaders}, HttpOptions, Options);
  +http(Method, {Url, ReqHeaders, _, _}, HttpOptions, Options)
  +  when Method == get; Method == delete ->
  +    http_req(Method, {Url, ReqHeaders}, HttpOptions, Options);
   http(
  -  post, {Url, ReqHeaders, ContentType, Body}, HttpOptions, Options
  -) when is_binary(Body) ->
  -    http_req(post, {Url, ReqHeaders, ContentType, Body}, HttpOptions, Options).
  +  Method, {Url, ReqHeaders, ContentType, Body}, HttpOptions, Options
  +) when is_binary(Body) andalso (Method == put orelse Method == post) ->
  +    http_req(Method, {Url, ReqHeaders, ContentType, Body}, HttpOptions, Options).
   
   http_req(Method, Request, HttpOptions, Options) ->
       case httpc:request(
  
positive.code: ).
  http(Op, Url, ReqHeaders, Auth, Body, HttpOptions, Options) when is_map(Body) ->
      http(
          Op, {Url, ReqHeaders, "application/json"}, Auth,
          imem_json:encode(Body), HttpOptions, Options
      );
  http(Op, Url, ReqHeaders, Auth, Body, HttpOptions, Options) ->
  
negative.code: 
  -spec(
      http(
          get | post | put | delete, httpc:url(), httpc:headers(),
          {token, string()} | {basic, string(), string()} | no_auth,
          map() | binary() | undefined,
          httpc:http_options(), httpc:options()
      ) ->
  