base64 -> bytearray encoding
This commit is contained in:
+9
-3
@@ -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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user