Current section

Files

Jump to
discord_gleam src discord_gleam@http@endpoints.erl
Raw

src/discord_gleam@http@endpoints.erl

-module(discord_gleam@http@endpoints).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([me/1]).
-spec me(binary()) -> {ok, discord_gleam@types@user:user()} |
{error, discord_gleam@internal@error:discord_error()}.
me(Token) ->
Request = discord_gleam@http@request:new_auth(
get,
<<"/users/@me"/utf8>>,
Token
),
case gleam@hackney:send(Request) of
{ok, Resp} ->
case gleam@http@response:get_header(Resp, <<"content-type"/utf8>>) of
{ok, <<"application/json"/utf8>>} ->
discord_gleam@types@user:from_json_string(
erlang:element(4, Resp)
);
_ ->
{error,
{invalid_format,
{decode_error,
<<"application/json content-type"/utf8>>,
<<"unknown"/utf8>>,
[]}}}
end;
{error, Err} ->
{error, {http_error, Err}}
end.