mirror of
https://github.com/azaion/annotations.git
synced 2026-04-22 11:06:30 +00:00
write logs for inference and loader to file
This commit is contained in:
@@ -10,8 +10,8 @@ namespace Azaion.LoaderUI;
|
||||
public interface IAzaionApi
|
||||
{
|
||||
void Login(ApiCredentials credentials);
|
||||
string GetLastInstallerName(string folder);
|
||||
(string name, Stream stream) DownloadInstaller(string folder);
|
||||
Task<string> GetLastInstallerName(string folder);
|
||||
Task<(string name, Stream stream)> DownloadInstaller(string folder);
|
||||
}
|
||||
|
||||
public class AzaionApi(HttpClient client) : IAzaionApi
|
||||
@@ -25,39 +25,39 @@ public class AzaionApi(HttpClient client) : IAzaionApi
|
||||
_credentials = credentials;
|
||||
}
|
||||
|
||||
public string GetLastInstallerName(string folder)
|
||||
public async Task<string> GetLastInstallerName(string folder)
|
||||
{
|
||||
var res = Get<List<string>>($"/resources/list/{folder}");
|
||||
var res = await Get<List<string>>($"/resources/list/{folder}");
|
||||
return res?.FirstOrDefault() ?? "";
|
||||
}
|
||||
|
||||
public (string name, Stream stream) DownloadInstaller(string folder)
|
||||
public async Task<(string name, Stream stream)> DownloadInstaller(string folder)
|
||||
{
|
||||
var response = Send(new HttpRequestMessage(HttpMethod.Get, $"resources/get-installer/{folder}"));
|
||||
var fileStream = response.Content.ReadAsStream();
|
||||
var response = await Send(new HttpRequestMessage(HttpMethod.Get, $"resources/get-installer/{folder}"));
|
||||
var fileStream = await response.Content.ReadAsStreamAsync();
|
||||
var fileName = response.Content.Headers.ContentDisposition?.FileName?.Trim('"') ?? "installer.exe";
|
||||
return (fileName, fileStream);
|
||||
}
|
||||
|
||||
private HttpResponseMessage Send(HttpRequestMessage request)
|
||||
private async Task<HttpResponseMessage> Send(HttpRequestMessage request)
|
||||
{
|
||||
if (string.IsNullOrEmpty(_jwtToken))
|
||||
Authorize();
|
||||
await Authorize();
|
||||
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", _jwtToken);
|
||||
var response = client.Send(request);
|
||||
var response = await client.SendAsync(request);
|
||||
|
||||
if (response.StatusCode == HttpStatusCode.Unauthorized)
|
||||
{
|
||||
Authorize();
|
||||
await Authorize();
|
||||
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", _jwtToken);
|
||||
response = client.Send(request);
|
||||
response = await client.SendAsync(request);
|
||||
}
|
||||
|
||||
if (response.IsSuccessStatusCode)
|
||||
return response;
|
||||
|
||||
var stream = response.Content.ReadAsStream();
|
||||
var content = new StreamReader(stream).ReadToEnd();
|
||||
var stream = await response.Content.ReadAsStreamAsync();
|
||||
var content = await new StreamReader(stream).ReadToEndAsync();
|
||||
if (response.StatusCode == HttpStatusCode.Conflict)
|
||||
{
|
||||
var result = JsonConvert.DeserializeObject<BusinessExceptionDto>(content);
|
||||
@@ -66,23 +66,23 @@ public class AzaionApi(HttpClient client) : IAzaionApi
|
||||
throw new Exception($"Failed: {response.StatusCode}! Result: {content}");
|
||||
}
|
||||
|
||||
private T? Get<T>(string url)
|
||||
private async Task<T?> Get<T>(string url)
|
||||
{
|
||||
var response = Send(new HttpRequestMessage(HttpMethod.Get, url));
|
||||
var stream = response.Content.ReadAsStream();
|
||||
var json = new StreamReader(stream).ReadToEnd();
|
||||
var response = await Send(new HttpRequestMessage(HttpMethod.Get, url));
|
||||
var stream = await response.Content.ReadAsStreamAsync();
|
||||
var json = await new StreamReader(stream).ReadToEndAsync();
|
||||
return JsonConvert.DeserializeObject<T>(json);
|
||||
}
|
||||
|
||||
private void Put<T>(string url, T obj)
|
||||
private async Task Put<T>(string url, T obj)
|
||||
{
|
||||
Send(new HttpRequestMessage(HttpMethod.Put, url)
|
||||
await Send(new HttpRequestMessage(HttpMethod.Put, url)
|
||||
{
|
||||
Content = new StringContent(JsonConvert.SerializeObject(obj), Encoding.UTF8, APP_JSON)
|
||||
});
|
||||
}
|
||||
|
||||
private void Authorize()
|
||||
private async Task Authorize()
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -95,13 +95,13 @@ public class AzaionApi(HttpClient client) : IAzaionApi
|
||||
password = _credentials.Password
|
||||
}), Encoding.UTF8, APP_JSON);
|
||||
var message = new HttpRequestMessage(HttpMethod.Post, "login") { Content = content };
|
||||
var response = client.Send(message);
|
||||
var response = await client.SendAsync(message);
|
||||
|
||||
if (!response.IsSuccessStatusCode)
|
||||
throw new Exception($"EnterCredentials failed: {response.StatusCode}");
|
||||
|
||||
var stream = response.Content.ReadAsStream();
|
||||
var json = new StreamReader(stream).ReadToEnd();
|
||||
var stream = await response.Content.ReadAsStreamAsync();
|
||||
var json = await new StreamReader(stream).ReadToEndAsync();
|
||||
var result = JsonConvert.DeserializeObject<LoginResponse>(json);
|
||||
|
||||
if (string.IsNullOrEmpty(result?.Token))
|
||||
|
||||
Reference in New Issue
Block a user