Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit ef5ab9a

Browse files
authored
catch json error (#9369)
* catch json error * spc * 'using
1 parent b709ff2 commit ef5ab9a

File tree

1 file changed

+29
-21
lines changed

1 file changed

+29
-21
lines changed

src/Aspire.Cli/DotNetCliRunner.cs

Lines changed: 29 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -659,34 +659,42 @@ public async Task<int> AddPackageAsync(FileInfo projectFilePath, string packageN
659659
}
660660

661661
var foundPackages = new List<NuGetPackage>();
662-
var document = JsonDocument.Parse(stdout);
663-
664-
var searchResultsArray = document.RootElement.GetProperty("searchResult");
665-
666-
foreach (var sourceResult in searchResultsArray.EnumerateArray())
662+
try
667663
{
668-
var source = sourceResult.GetProperty("sourceName").GetString();
669-
var sourcePackagesArray = sourceResult.GetProperty("packages");
670-
671-
foreach (var packageResult in sourcePackagesArray.EnumerateArray())
672-
{
673-
var id = packageResult.GetProperty("id").GetString();
664+
using var document = JsonDocument.Parse(stdout);
674665

675-
// var version = prerelease switch {
676-
// true => packageResult.GetProperty("version").GetString(),
677-
// false => packageResult.GetProperty("latestVersion").GetString()
678-
// };
666+
var searchResultsArray = document.RootElement.GetProperty("searchResult");
679667

680-
var version = packageResult.GetProperty("latestVersion").GetString();
668+
foreach (var sourceResult in searchResultsArray.EnumerateArray())
669+
{
670+
var source = sourceResult.GetProperty("sourceName").GetString();
671+
var sourcePackagesArray = sourceResult.GetProperty("packages");
681672

682-
foundPackages.Add(new NuGetPackage
673+
foreach (var packageResult in sourcePackagesArray.EnumerateArray())
683674
{
684-
Id = id!,
685-
Version = version!,
686-
Source = source!
687-
});
675+
var id = packageResult.GetProperty("id").GetString();
676+
677+
// var version = prerelease switch {
678+
// true => packageResult.GetProperty("version").GetString(),
679+
// false => packageResult.GetProperty("latestVersion").GetString()
680+
// };
681+
682+
var version = packageResult.GetProperty("latestVersion").GetString();
683+
684+
foundPackages.Add(new NuGetPackage
685+
{
686+
Id = id!,
687+
Version = version!,
688+
Source = source!
689+
});
690+
}
688691
}
689692
}
693+
catch (JsonException ex)
694+
{
695+
logger.LogError($"Failed to read JSON returned by the package search. {ex.Message}");
696+
return (ExitCodeConstants.FailedToAddPackage, null);
697+
}
690698

691699
return (result, foundPackages.ToArray());
692700
}

0 commit comments

Comments
 (0)