anchor.diff:              [options | _]
           ) ->
               case Headers of
  -                ExpectedMacaroonHeaders -> ok;
  -                ExpectedBasicAuthHeaders -> ok
  -            end
  -    end),
  -    ?assertEqual(ok, oz_endpoint:request(
  -        {user, token, {?MACAROON, ?DISCH_MACAROONS}}, "/URN", method,
  +                ExpectedTokenHeaders -> ok;
  +                ExpectedMacaroonHeaders -> ok;
  +                ExpectedBasicAuthHeaders -> ok
  +            end
  +    end),
  +    ?assertEqual(ok, oz_endpoint:request(
  +        {user, token, token()}, "/URN", method,
  +        #{<<"hdr">> => <<"abcdf">>}, body, [options])),
  +    ?assertEqual(ok, oz_endpoint:request(
  +        {user, macaroon, {macaroon(), disch_macaroons()}}, "/URN", method,
           #{<<"hdr">> => <<"abcdf">>}, body, [options])),
       ?assertEqual(ok, oz_endpoint:request(
           {user, basic, ?BASIC_AUTH_HEADER}, "/URN", method,
  
positive.code: 
  
  should_send_user_request_2() ->
      MacaroonHeader = macaroon_header(),
      DischMacaroonsHeader = disch_macaroons_header(),
      BasicAuthHeader = basic_auth_header(),
  
      ExpectedMacaroonHeaders = merge_headers([
          ?CONTENT_TYPE_HEADER, MacaroonHeader, DischMacaroonsHeader
      ]),
  
negative.code:             _
          ) ->
              case Headers of
                  ExpectedTokenHeaders -> ok;
                  ExpectedMacaroonHeaders -> ok;
                  ExpectedBasicAuthHeaders -> ok
              end
      end),
      ?assertEqual(ok, oz_endpoint:request(
          {user, token, token()}, "/URN", method)),
      ?assertEqual(ok, oz_endpoint:request(
          {user, macaroon, {macaroon(), disch_macaroons()}}, "/URN", method)),
      ?assertEqual(ok, oz_endpoint:request(
          {user, basic, ?BASIC_AUTH_HEADER}, "/URN", method)),
  
  