Skip to content

Commit 0eb04b4

Browse files
committed
Non-blocking fallback if NFTMetadata unfetcheable
1 parent f8e0768 commit 0eb04b4

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

Thirdweb/Thirdweb.Extensions/ThirdwebExtensions.cs

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1187,7 +1187,15 @@ public static async Task<NFT> ERC721_GetNFT(this ThirdwebContract contract, BigI
11871187
}
11881188

11891189
var uri = await contract.ERC721_TokenURI(tokenId).ConfigureAwait(false);
1190-
var metadata = await ThirdwebStorage.Download<NFTMetadata>(contract.Client, uri).ConfigureAwait(false);
1190+
NFTMetadata metadata;
1191+
try
1192+
{
1193+
metadata = await ThirdwebStorage.Download<NFTMetadata>(contract.Client, uri).ConfigureAwait(false);
1194+
}
1195+
catch (Exception e)
1196+
{
1197+
metadata = new NFTMetadata { Description = e.Message };
1198+
}
11911199
metadata.Id = tokenId.ToString();
11921200

11931201
string owner;
@@ -1324,7 +1332,15 @@ public static async Task<NFT> ERC1155_GetNFT(this ThirdwebContract contract, Big
13241332
}
13251333

13261334
var uri = await contract.ERC1155_URI(tokenId).ConfigureAwait(false);
1327-
var metadata = await ThirdwebStorage.Download<NFTMetadata>(contract.Client, uri).ConfigureAwait(false);
1335+
NFTMetadata metadata;
1336+
try
1337+
{
1338+
metadata = await ThirdwebStorage.Download<NFTMetadata>(contract.Client, uri).ConfigureAwait(false);
1339+
}
1340+
catch (Exception e)
1341+
{
1342+
metadata = new NFTMetadata { Description = e.Message };
1343+
}
13281344
metadata.Id = tokenId.ToString();
13291345
var owner = string.Empty;
13301346
BigInteger supply;

0 commit comments

Comments
 (0)