Current section
Files
Jump to
Current section
Files
src/discord_gleam@http@request.erl
-module(discord_gleam@http@request).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/discord_gleam/http/request.gleam").
-export([new/2, new_with_body/3, new_auth/3, new_auth_with_body/4, new_auth_with_header/4]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
?MODULEDOC(" This module contains functions to create http requests to discord\n").
-file("src/discord_gleam/http/request.gleam", 7).
?DOC(" Create a base request to discord\n").
-spec new(gleam@http:method(), binary()) -> gleam@http@request:request(binary()).
new(Method, Path) ->
_pipe = gleam@http@request:new(),
_pipe@1 = gleam@http@request:set_method(_pipe, Method),
_pipe@2 = gleam@http@request:set_host(_pipe@1, <<"discord.com"/utf8>>),
_pipe@3 = gleam@http@request:set_path(
_pipe@2,
<<"/api/v10"/utf8, Path/binary>>
),
_pipe@4 = gleam@http@request:prepend_header(
_pipe@3,
<<"accept"/utf8>>,
<<"application/json"/utf8>>
),
gleam@http@request:prepend_header(
_pipe@4,
<<"User-Agent"/utf8>>,
<<"DiscordBot (https://github.com/cyteon/discord_gleam, 1.7.1)"/utf8>>
).
-file("src/discord_gleam/http/request.gleam", 20).
?DOC(" Create an unauthenticated request, with a body\n").
-spec new_with_body(gleam@http:method(), binary(), binary()) -> gleam@http@request:request(binary()).
new_with_body(Method, Path, Data) ->
_pipe = new(Method, Path),
_pipe@1 = gleam@http@request:set_body(_pipe, Data),
gleam@http@request:prepend_header(
_pipe@1,
<<"Content-Type"/utf8>>,
<<"application/json"/utf8>>
).
-file("src/discord_gleam/http/request.gleam", 31).
?DOC(" Create an authenticated request\n").
-spec new_auth(gleam@http:method(), binary(), binary()) -> gleam@http@request:request(binary()).
new_auth(Method, Path, Token) ->
_pipe = new(Method, Path),
gleam@http@request:prepend_header(
_pipe,
<<"Authorization"/utf8>>,
<<"Bot "/utf8, Token/binary>>
).
-file("src/discord_gleam/http/request.gleam", 41).
?DOC(" Create an authenticated request, with a body\n").
-spec new_auth_with_body(gleam@http:method(), binary(), binary(), binary()) -> gleam@http@request:request(binary()).
new_auth_with_body(Method, Path, Token, Data) ->
_pipe = new(Method, Path),
_pipe@1 = gleam@http@request:prepend_header(
_pipe,
<<"Authorization"/utf8>>,
<<"Bot "/utf8, Token/binary>>
),
_pipe@2 = gleam@http@request:set_body(_pipe@1, Data),
gleam@http@request:prepend_header(
_pipe@2,
<<"Content-Type"/utf8>>,
<<"application/json"/utf8>>
).
-file("src/discord_gleam/http/request.gleam", 54).
?DOC(" Create an authenticated request with a custom header\n").
-spec new_auth_with_header(
gleam@http:method(),
binary(),
binary(),
{binary(), binary()}
) -> gleam@http@request:request(binary()).
new_auth_with_header(Method, Path, Token, Header) ->
_pipe = new_auth(Method, Path, Token),
gleam@http@request:set_header(
_pipe,
erlang:element(1, Header),
erlang:element(2, Header)
).