base64 -> bytearray encoding
This commit is contained in:
+9
-3
@@ -792,16 +792,22 @@ contract_code(ID) ->
|
|||||||
|
|
||||||
contract_source(ID) ->
|
contract_source(ID) ->
|
||||||
case request(["/v3/contracts/", ID, "/source"]) of
|
case request(["/v3/contracts/", ID, "/source"]) of
|
||||||
{ok, #{"source" := Source}} -> extract(Source);
|
{ok, #{"source" := Blobby}} -> extract(Blobby);
|
||||||
{ok, #{"reason" := Reason}} -> {error, Reason};
|
{ok, #{"reason" := Reason}} -> {error, Reason};
|
||||||
Error -> Error
|
Error -> Error
|
||||||
end.
|
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
|
case erl_tar:extract({binary, TarBaby}, [memory, compressed]) of
|
||||||
{ok, Project} -> {ok, Project};
|
{ok, Project} -> {ok, Project};
|
||||||
Error ->
|
Error ->
|
||||||
io:format("dis chit happen: ~tp", [Error]),
|
io:format("Dis chit happen: ~tp~n", [Error]),
|
||||||
{ok, TarBaby}
|
{ok, TarBaby}
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user