base64 -> bytearray encoding

This commit is contained in:
2026-05-09 15:19:51 +09:00
parent 7fc3cd00da
commit fd2158a465
+9 -3
View File
@@ -792,16 +792,22 @@ contract_code(ID) ->
contract_source(ID) ->
case request(["/v3/contracts/", ID, "/source"]) of
{ok, #{"source" := Source}} -> extract(Source);
{ok, #{"source" := Blobby}} -> extract(Blobby);
{ok, #{"reason" := Reason}} -> {error, Reason};
Error -> Error
end.
extract(TarBaby) ->
extract(Blobby) ->
case gmser_api_encoder:safe_decode(bytearray, Blobby) of
{ok, TarBaby} -> extract2(TarBaby);
{error, invalid_encoding} -> {ok, Blobby}
end.
extract2(TarBaby) ->
case erl_tar:extract({binary, TarBaby}, [memory, compressed]) of
{ok, Project} -> {ok, Project};
Error ->
io:format("dis chit happen: ~tp", [Error]),
io:format("Dis chit happen: ~tp~n", [Error]),
{ok, TarBaby}
end.