From fd2158a465368a2474d8b674da4cedb25ce9cb0c Mon Sep 17 00:00:00 2001 From: Craig Everett Date: Sat, 9 May 2026 15:19:51 +0900 Subject: [PATCH] base64 -> bytearray encoding --- src/hz.erl | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/hz.erl b/src/hz.erl index adfeae2..2827f79 100644 --- a/src/hz.erl +++ b/src/hz.erl @@ -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]), + Error -> + io:format("Dis chit happen: ~tp~n", [Error]), {ok, TarBaby} end.