Current section

Files

Jump to
fireball src fireball.erl
Raw

src/fireball.erl

-module(fireball).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([get_doc/5]).
-file("/export/gleam/fireball/src/fireball.gleam", 11).
-spec get_doc(binary(), binary(), binary(), binary(), binary()) -> {ok,
objects@document:fireball_document()} |
{error, error:fireball_error()}.
get_doc(Apikey, Apiver, Database, Doc, Proj_id) ->
case gleam@http@request:to(
<<<<<<<<<<<<<<<<<<"https://firestore.googleapis.com/"/utf8,
Apiver/binary>>/binary,
"/projects/"/utf8>>/binary,
Proj_id/binary>>/binary,
"/databases/"/utf8>>/binary,
Database/binary>>/binary,
"/documents/"/utf8>>/binary,
Doc/binary>>/binary,
"?key="/utf8>>/binary,
Apikey/binary>>
) of
{ok, Base_req} ->
Req = begin
_pipe = gleam@http@request:prepend_header(
Base_req,
<<"Content-type"/utf8>>,
<<"application/json"/utf8>>
),
gleam@http@request:set_method(_pipe, get)
end,
case gleam@httpc:send(Req) of
{ok, Resp} ->
{ok,
{fireball_document,
erlang:element(4, Resp),
<<""/utf8>>}};
{error, _} ->
{error,
{fireball_error, <<"error while sending request"/utf8>>}}
end;
{error, _} ->
{error, {fireball_error, <<"error while forming request"/utf8>>}}
end.