improve handling of response status and logging in package controller
This commit is contained in:
parent
fb2a8e987e
commit
161ab56701
|
@ -67,14 +67,24 @@ namespace Oqtane.Controllers
|
||||||
{
|
{
|
||||||
folder = Path.Combine(_environment.ContentRootPath, folder);
|
folder = Path.Combine(_environment.ContentRootPath, folder);
|
||||||
var response = await httpClient.GetAsync(package.PackageUrl).ConfigureAwait(false);
|
var response = await httpClient.GetAsync(package.PackageUrl).ConfigureAwait(false);
|
||||||
response.EnsureSuccessStatusCode();
|
if (response.IsSuccessStatusCode)
|
||||||
string filename = packageid + "." + version + ".nupkg";
|
|
||||||
using (var fileStream = new FileStream(Path.Combine(folder, filename), FileMode.Create, FileAccess.Write, FileShare.None))
|
|
||||||
{
|
{
|
||||||
await response.Content.CopyToAsync(fileStream).ConfigureAwait(false);
|
string filename = packageid + "." + version + ".nupkg";
|
||||||
|
using (var fileStream = new FileStream(Path.Combine(folder, filename), FileMode.Create, FileAccess.Write, FileShare.None))
|
||||||
|
{
|
||||||
|
await response.Content.CopyToAsync(fileStream).ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_logger.Log(LogLevel.Error, this, LogFunction.Create, "Could Not Download {PackageUrl}", package.PackageUrl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_logger.Log(LogLevel.Error, this, LogFunction.Create, "Package {PackageId}.{Version} Is Not Registered", packageid, version);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private string GetInstallationId()
|
private string GetInstallationId()
|
||||||
|
@ -92,16 +102,19 @@ namespace Oqtane.Controllers
|
||||||
{
|
{
|
||||||
Uri uri = new Uri(url);
|
Uri uri = new Uri(url);
|
||||||
var response = await httpClient.GetAsync(uri).ConfigureAwait(false);
|
var response = await httpClient.GetAsync(uri).ConfigureAwait(false);
|
||||||
response.EnsureSuccessStatusCode();
|
if (response.IsSuccessStatusCode)
|
||||||
var stream = await response.Content.ReadAsStreamAsync();
|
|
||||||
using (var streamReader = new StreamReader(stream))
|
|
||||||
{
|
{
|
||||||
using (var jsonTextReader = new JsonTextReader(streamReader))
|
var stream = await response.Content.ReadAsStreamAsync();
|
||||||
|
using (var streamReader = new StreamReader(stream))
|
||||||
{
|
{
|
||||||
var serializer = new JsonSerializer();
|
using (var jsonTextReader = new JsonTextReader(streamReader))
|
||||||
return serializer.Deserialize<T>(jsonTextReader);
|
{
|
||||||
|
var serializer = new JsonSerializer();
|
||||||
|
return serializer.Deserialize<T>(jsonTextReader);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return default(T);
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet("install")]
|
[HttpGet("install")]
|
||||||
|
|
Loading…
Reference in New Issue
Block a user