Merge pull request #3109 from sbwalker/dev

introduce new GetJsonAsync method with default value parameter
This commit is contained in:
Shaun Walker 2023-08-05 09:01:03 -04:00 committed by GitHub
commit af042bd23c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 2 deletions

View File

@ -22,7 +22,7 @@ namespace Oqtane.Services
/// <inheritdoc />
public async Task<List<Alias>> GetAliasesAsync()
{
List<Alias> aliases = await GetJsonAsync<List<Alias>>(ApiUrl);
List<Alias> aliases = await GetJsonAsync<List<Alias>>(ApiUrl, Enumerable.Empty<Alias>().ToList());
return aliases.OrderBy(item => item.Name).ToList();
}

View File

@ -145,10 +145,19 @@ namespace Oqtane.Services
{
return await response.Content.ReadFromJsonAsync<T>();
}
return default;
}
protected async Task<T> GetJsonAsync<T>(string uri, T defaultvalue)
{
var response = await GetHttpClient().GetAsync(uri, HttpCompletionOption.ResponseHeadersRead, CancellationToken.None);
if (await CheckResponse(response, uri) && ValidateJsonContent(response.Content))
{
return await response.Content.ReadFromJsonAsync<T>();
}
return defaultvalue;
}
protected async Task PutAsync(string uri)
{
var response = await GetHttpClient().PutAsync(uri, null);