feat: introduced caching in the server + Added serilog

This commit is contained in:
Mikhail Shabanov committed 2021-06-04 23:04:03 +02:00
1 parent 8c9770f8a0
commit 638489a842
25 files changed
+365 -33

No files matched your search

@@ -6,6 +6,7 @@ using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Extensions.Logging;
using WotBlitzStatisticsPro.Common;
using WotBlitzStatisticsPro.Common.Model;
@@ -19,14 +20,17 @@ namespace WotBlitzStatisticsPro.WgApiClient
private readonly HttpClient _httpClient;
private readonly IWargamingApiSettings _wargamingApiSettings;
private readonly ILogger<WagramingApiClientBase> _logger;
public WagramingApiClientBase(
public WagramingApiClientBase(
HttpClient httpClient,
IWargamingApiSettings wargamingApiSettings)
IWargamingApiSettings wargamingApiSettings,
ILogger<WagramingApiClientBase> logger)
{
_httpClient = httpClient;
_wargamingApiSettings = wargamingApiSettings;
_blitzApiUrls[RealmType.Eu] = "https://api.wotblitz.eu/wotb/";
_logger = logger;
_blitzApiUrls[RealmType.Eu] = "https://api.wotblitz.eu/wotb/";
_blitzApiUrls[RealmType.Ru] = "https://api.wotblitz.ru/wotb/";
_blitzApiUrls[RealmType.Na] = "https://api.wotblitz.com/wotb/";
_blitzApiUrls[RealmType.Asia] = "https://api.wotblitz.asia/wotb/";
@@ -53,6 +57,9 @@ namespace WotBlitzStatisticsPro.WgApiClient
var responseString = await response.Content.ReadAsStringAsync();
var responseBody = JsonConvert.DeserializeObject<ResponseBody<T>>(responseString);
_logger.LogInformation($"HTTP GET {uri} - {responseBody.Status}");
switch (responseBody.Status)
{
case "ok":
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;
using Microsoft.Extensions.Logging;
using WotBlitzStatisticsPro.Common;
using WotBlitzStatisticsPro.Common.Model;
using WotBlitzStatisticsPro.WgApiClient.Model;
@@ -10,7 +11,10 @@ namespace WotBlitzStatisticsPro.WgApiClient
public class WargamingAchievementsApiClient: WagramingApiClientBase,
IWargamingAchievementsApiClient
{
public WargamingAchievementsApiClient(HttpClient httpClient, IWargamingApiSettings wargamingApiSettings) : base(httpClient, wargamingApiSettings)
public WargamingAchievementsApiClient(
HttpClient httpClient,
IWargamingApiSettings wargamingApiSettings,
ILogger<WagramingApiClientBase> logger) : base(httpClient, wargamingApiSettings, logger)
{
}
@@ -2,6 +2,7 @@
using System.Linq;
using System.Net.Http;
using System.Threading.Tasks;
using Microsoft.Extensions.Logging;
using WotBlitzStatisticsPro.Common;
using WotBlitzStatisticsPro.Common.Model;
using WotBlitzStatisticsPro.WgApiClient.Model;
@@ -15,7 +16,8 @@ namespace WotBlitzStatisticsPro.WgApiClient
{
public WargamingApiClient(
HttpClient httpClient,
IWargamingApiSettings wargamingApiSettings) : base(httpClient, wargamingApiSettings)
IWargamingApiSettings wargamingApiSettings,
ILogger<WagramingApiClientBase> logger) : base(httpClient, wargamingApiSettings, logger)
{
}
@@ -6,6 +6,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="5.0.0" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
</ItemGroup>