-module(gdav@internal).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/gdav/internal.gleam").
-export([request/5]).
-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(false).
-file("src/gdav/internal.gleam", 6).
?DOC(false).
-spec request(
gdav:credentials(),
gleam@http:method(),
binary(),
list({binary(), binary()}),
binary()
) -> gleam@http@request:request(binary()).
request(Credentials, Method, Path, Headers, Body) ->
Req = {request,
Method,
Headers,
Body,
erlang:element(2, Credentials),
erlang:element(4, Credentials),
erlang:element(3, Credentials),
Path,
none},
case erlang:element(6, Credentials) of
none ->
Req;
{some, Auth} ->
gleam@http@request:prepend_header(
Req,
<<"Authorization"/utf8>>,
Auth
)
end.