|
|
@ -1,11 +1,11 @@ |
|
|
|
|
|
using Newtonsoft.Json; |
|
|
using System; |
|
|
using System; |
|
|
using System.Collections.Generic; |
|
|
using System.Collections.Generic; |
|
|
using System.Linq; |
|
|
using System.Linq; |
|
|
using System.Net.Http; |
|
|
using System.Net.Http; |
|
|
using System.Threading.Tasks; |
|
|
using System.Threading.Tasks; |
|
|
using Newtonsoft.Json; |
|
|
|
|
|
using Volo.Abp.Json; |
|
|
|
|
|
using Volo.Abp.DependencyInjection; |
|
|
using Volo.Abp.DependencyInjection; |
|
|
|
|
|
using Volo.Abp.Json; |
|
|
using Volo.Abp.Threading; |
|
|
using Volo.Abp.Threading; |
|
|
|
|
|
|
|
|
namespace Volo.Abp.Cli.NuGet |
|
|
namespace Volo.Abp.Cli.NuGet |
|
|
@ -15,7 +15,6 @@ namespace Volo.Abp.Cli.NuGet |
|
|
protected IJsonSerializer JsonSerializer { get; } |
|
|
protected IJsonSerializer JsonSerializer { get; } |
|
|
protected ICancellationTokenProvider CancellationTokenProvider { get; } |
|
|
protected ICancellationTokenProvider CancellationTokenProvider { get; } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public NuGetService( |
|
|
public NuGetService( |
|
|
IJsonSerializer jsonSerializer, |
|
|
IJsonSerializer jsonSerializer, |
|
|
ICancellationTokenProvider cancellationTokenProvider) |
|
|
ICancellationTokenProvider cancellationTokenProvider) |
|
|
@ -24,15 +23,17 @@ namespace Volo.Abp.Cli.NuGet |
|
|
CancellationTokenProvider = cancellationTokenProvider; |
|
|
CancellationTokenProvider = cancellationTokenProvider; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public async Task<string> GetLatestVersionAsync(string packageId,bool includePreviews = false) |
|
|
public async Task<string> GetLatestVersionOrNullAsync(string packageId, bool includePreviews = false) |
|
|
{ |
|
|
{ |
|
|
using (var client = new HttpClient()) |
|
|
using (var client = new HttpClient()) |
|
|
{ |
|
|
{ |
|
|
client.Timeout = TimeSpan.FromSeconds(30); |
|
|
client.Timeout = TimeSpan.FromSeconds(30); |
|
|
|
|
|
|
|
|
var responseMessage = await client.GetAsync( |
|
|
var responseMessage = await client.GetAsync( |
|
|
$"https://api.nuget.org/v3-flatcontainer/{packageId.ToLowerInvariant()}/index.json", |
|
|
$"https://api.nuget.org/v3-flatcontainer/{packageId.ToLowerInvariant()}/index.json", |
|
|
CancellationTokenProvider.Token); |
|
|
CancellationTokenProvider.Token |
|
|
|
|
|
); |
|
|
|
|
|
|
|
|
if (!responseMessage.IsSuccessStatusCode) |
|
|
if (!responseMessage.IsSuccessStatusCode) |
|
|
{ |
|
|
{ |
|
|
throw new Exception("Remote server returns error! HTTP status code: " + responseMessage.StatusCode); |
|
|
throw new Exception("Remote server returns error! HTTP status code: " + responseMessage.StatusCode); |
|
|
@ -41,6 +42,7 @@ namespace Volo.Abp.Cli.NuGet |
|
|
var result = await responseMessage.Content.ReadAsStringAsync(); |
|
|
var result = await responseMessage.Content.ReadAsStringAsync(); |
|
|
|
|
|
|
|
|
var versions = JsonSerializer.Deserialize<NuGetVersionResultDto>(result).Versions; |
|
|
var versions = JsonSerializer.Deserialize<NuGetVersionResultDto>(result).Versions; |
|
|
|
|
|
|
|
|
if (!includePreviews) |
|
|
if (!includePreviews) |
|
|
{ |
|
|
{ |
|
|
versions = versions |
|
|
versions = versions |
|
|
|