public async Task <MiscGrpcResponse> GetSiteStatAsync(MiscGrpcRequest request, CallContext context = default) { var response = new MiscGrpcResponse(); try { if (request.Site == LaobianSite.Jarvis) { response.SiteStat = await _jarvisHttpClient.GetSiteStatAsync(); } else if (request.Site == LaobianSite.Blog) { response.SiteStat = await _blogHttpClient.GetSiteStatAsync(); } else if (request.Site == LaobianSite.Api) { response.SiteStat = SiteStatHelper.Get(); } else { response.IsOk = false; response.Message = $"Getting site {request.Site} stat not supported."; } } catch (Exception ex) { response.IsOk = false; response.Message = ex.Message; _logger.LogError(ex, $"{nameof(GetSiteStatAsync)} failed."); } return(response); }
public async Task <ApiResponse <SiteStat> > GetSiteStatAsync([FromQuery] string site) { var apiResponse = new ApiResponse <SiteStat>(); try { if (Enum.TryParse <LaobianSite>(site, true, out var s)) { if (s == LaobianSite.Admin) { apiResponse.Content = SiteStatHelper.Get(); } else { var response = await _miscGrpcService.GetSiteStatAsync(new MiscGrpcRequest { Site = s }); if (response.IsOk) { apiResponse.Content = response.SiteStat; } else { apiResponse.IsOk = false; apiResponse.Message = response.Message; } } } } catch (Exception ex) { apiResponse.IsOk = false; apiResponse.Message = ex.Message; _logger.LogError(ex, $"Get site {site} stat failed."); } return(apiResponse); }
public SiteStat GetSiteStat() { return(SiteStatHelper.Get()); }