Sure, this my custom assets canister: ic/canisters/src/storage at main · papyrs/ic · GitHub
Another repo in Motoko for custom assets canister which I find really interesting is the one of Aviate-labs: GitHub - aviate-labs/asset-storage.mo: Interface of the Asset Storage Canister
Note: both above example stream the response (to support assets > 1.x mb), which you don’t. Don’t think it is linked to your issue but just fyi