Browse Source

dispose Http reponse #6534

pull/6693/head
Alper Ebicoglu 6 years ago
parent
commit
75a9998a33
  1. 45
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/NuGet/NuGetService.cs
  2. 44
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs

45
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/NuGet/NuGetService.cs

@ -95,18 +95,16 @@ namespace Volo.Abp.Cli.NuGet
using (var client = new CliHttpClient(setBearerToken: false))
{
var responseMessage = await client.GetHttpResponseMessageWithRetryAsync(
using (var responseMessage = await client.GetHttpResponseMessageWithRetryAsync(
url,
cancellationToken: CancellationTokenProvider.Token,
logger: Logger
);
await RemoteServiceExceptionHandler.EnsureSuccessfulHttpResponseAsync(responseMessage);
var responseContent = await responseMessage.Content.ReadAsStringAsync();
return JsonSerializer
.Deserialize<NuGetVersionResultDto>(responseContent).Versions;
))
{
await RemoteServiceExceptionHandler.EnsureSuccessfulHttpResponseAsync(responseMessage);
var responseContent = await responseMessage.Content.ReadAsStringAsync();
return JsonSerializer.Deserialize<NuGetVersionResultDto>(responseContent).Versions;
}
}
}
@ -126,27 +124,28 @@ namespace Volo.Abp.Cli.NuGet
var url = $"{CliUrls.WwwAbpIo}api/app/nugetPackage/proPackageNames";
var responseMessage = await client.GetHttpResponseMessageWithRetryAsync(
using (var responseMessage = await client.GetHttpResponseMessageWithRetryAsync(
url: url,
cancellationToken: CancellationTokenProvider.Token,
logger: Logger
);
if (responseMessage.IsSuccessStatusCode)
))
{
return JsonSerializer.Deserialize<List<string>>(await responseMessage.Content.ReadAsStringAsync());
}
if (responseMessage.IsSuccessStatusCode)
{
return JsonSerializer.Deserialize<List<string>>(await responseMessage.Content.ReadAsStringAsync());
}
var exceptionMessage = "Remote server returns '" + (int)responseMessage.StatusCode + "-" + responseMessage.ReasonPhrase + "'. ";
var remoteServiceErrorMessage = await RemoteServiceExceptionHandler.GetAbpRemoteServiceErrorAsync(responseMessage);
var exceptionMessage = "Remote server returns '" + (int)responseMessage.StatusCode + "-" + responseMessage.ReasonPhrase + "'. ";
var remoteServiceErrorMessage = await RemoteServiceExceptionHandler.GetAbpRemoteServiceErrorAsync(responseMessage);
if (remoteServiceErrorMessage != null)
{
exceptionMessage += remoteServiceErrorMessage;
}
if (remoteServiceErrorMessage != null)
{
exceptionMessage += remoteServiceErrorMessage;
}
Logger.LogError(exceptionMessage);
return null;
Logger.LogError(exceptionMessage);
return null;
}
}
public class NuGetVersionResultDto

44
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs

@ -26,19 +26,15 @@ namespace Volo.Abp.Cli.ProjectModification
private readonly PackageJsonFileFinder _packageJsonFileFinder;
private readonly NpmGlobalPackagesChecker _npmGlobalPackagesChecker;
private readonly MyGetPackageListFinder _myGetPackageListFinder;
private readonly Dictionary<string, string> _fileVersionStorage = new Dictionary<string, string>();
private MyGetApiResponse _myGetApiResponse;
public NpmPackagesUpdater(
PackageJsonFileFinder packageJsonFileFinder,
NpmGlobalPackagesChecker npmGlobalPackagesChecker,
MyGetPackageListFinder myGetPackageListFinder,
ICancellationTokenProvider cancellationTokenProvider)
{
_packageJsonFileFinder = packageJsonFileFinder;
_npmGlobalPackagesChecker = npmGlobalPackagesChecker;
_myGetPackageListFinder = myGetPackageListFinder;
CancellationTokenProvider = cancellationTokenProvider;
Logger = NullLogger<NpmPackagesUpdater>.Instance;
}
@ -58,7 +54,7 @@ namespace Volo.Abp.Cli.ProjectModification
async Task UpdateAsync(string file)
{
var updated = await UpdatePackagesInFile(file, includePreviews,includeReleaseCandidates, switchToStable, version);
var updated = await UpdatePackagesInFile(file, includePreviews, includeReleaseCandidates, switchToStable, version);
packagesUpdated.TryAdd(file, updated);
}
@ -103,7 +99,7 @@ namespace Volo.Abp.Cli.ProjectModification
private static async Task<bool> NpmrcFileExistAsync(string directoryName)
{
return File.Exists(Path.Combine(directoryName, ".npmrc"));
return await Task.FromResult(File.Exists(Path.Combine(directoryName, ".npmrc")));
}
private async Task CreateNpmrcFileAsync(string directoryName)
@ -157,18 +153,19 @@ namespace Volo.Abp.Cli.ProjectModification
{
using (var client = new CliHttpClient(TimeSpan.FromMinutes(1)))
{
var response = await client.GetHttpResponseMessageWithRetryAsync(
using (var response = await client.GetHttpResponseMessageWithRetryAsync(
url: $"{CliUrls.WwwAbpIo}api/myget/apikey/",
cancellationToken: CancellationTokenProvider.Token,
logger: Logger
);
return Encoding.Default.GetString(await response.Content.ReadAsByteArrayAsync());
))
{
return Encoding.Default.GetString(await response.Content.ReadAsByteArrayAsync());
}
}
}
catch (Exception)
{
return "";
return string.Empty;
}
}
@ -219,9 +216,10 @@ namespace Volo.Abp.Cli.ProjectModification
bool switchToStable = false,
string specifiedVersion = null)
{
var currentVersion = (string) package.Value;
var currentVersion = (string)package.Value;
var version = string.Empty;
var version = "";
if (!specifiedVersion.IsNullOrWhiteSpace())
{
if (!SpecifiedVersionExists(specifiedVersion, package))
@ -237,7 +235,7 @@ namespace Volo.Abp.Cli.ProjectModification
}
else
{
if ((includePreviews || (!switchToStable && currentVersion.Contains("-preview"))) && !includeReleaseCandidates)
if ((includePreviews || (!switchToStable && (currentVersion != null && currentVersion.Contains("-preview")))) && !includeReleaseCandidates)
{
version = "preview";
}
@ -277,13 +275,11 @@ namespace Volo.Abp.Cli.ProjectModification
return version.Split("-", StringSplitOptions.RemoveEmptyEntries).Length > 1;
}
protected virtual async Task<string> GetLatestVersion(
JProperty package,
bool includeReleaseCandidates = false)
protected virtual async Task<string> GetLatestVersion(JProperty package, bool includeReleaseCandidates = false)
{
if (_fileVersionStorage.ContainsKey(package.Name))
{
return _fileVersionStorage[package.Name];
return await Task.FromResult(_fileVersionStorage[package.Name]);
}
var versionList = GetPackageVersionList(package);
@ -295,24 +291,24 @@ namespace Volo.Abp.Cli.ProjectModification
if (string.IsNullOrEmpty(newVersion))
{
_fileVersionStorage[package.Name] = newVersion;
return newVersion;
return await Task.FromResult(newVersion);
}
var newVersionWithPrefix = $"~{newVersion}";
_fileVersionStorage[package.Name] = newVersionWithPrefix;
return newVersionWithPrefix;
return await Task.FromResult(newVersionWithPrefix);
}
protected virtual List<JProperty> GetAbpPackagesFromPackageJson(JObject fileObject)
{
var dependencyList = new[] {"dependencies", "devDependencies", "peerDependencies"};
var dependencyList = new[] { "dependencies", "devDependencies", "peerDependencies" };
var abpPackages = new List<JProperty>();
foreach (var dependencyListName in dependencyList)
{
var dependencies = (JObject) fileObject[dependencyListName];
var dependencies = (JObject)fileObject[dependencyListName];
if (dependencies == null)
{
@ -320,7 +316,9 @@ namespace Volo.Abp.Cli.ProjectModification
}
var properties = dependencies.Properties().ToList();
abpPackages.AddRange(properties.Where(p => p.Name.StartsWith("@abp/") || p.Name.StartsWith("@volo/"))
abpPackages
.AddRange(properties.Where(p => p.Name.StartsWith("@abp/") || p.Name.StartsWith("@volo/"))
.ToList());
}

Loading…
Cancel
Save