public async Task <ApiResponse <bool> > ValidateApplicationKey( ValidateKeyRequest request, CancellationToken token = default) { if (request is null) { return(ApiResponse <bool> .CreateNullRequestResponse()); } // проверяем модель запроса if (!request.SelfValidate(out var validateMessage)) { return(ApiResponse <bool> .CreateFailed(validateMessage)); } var json = JSON.Serialize(request); var payload = new StringContent(json, Encoding.UTF8, "application/json"); using var apiResponse = await _httpClient.PostAsync("auth/validate", payload); if (!apiResponse.IsSuccessStatusCode) { var message = await apiResponse.Content.ReadAsStringAsync(); message = !string.IsNullOrWhiteSpace(message) ? message : apiResponse.StatusCode.ToString(); return(ApiResponse <bool> .CreateFailed(message)); } using TextReader streamReader = new StreamReader(await apiResponse.Content.ReadAsStreamAsync()); var resultData = Jil.JSON.Deserialize <bool>(streamReader); return(ApiResponse <bool> .CreateSuccess(resultData)); }
private async Task ExecuteTestSequenceAsync() { // тесты самого сервиса var result = await _keyValidator.GetAllKnownApplicationsAsync(); var isValid = await _keyValidator.GetPermittedApplicationsAsync("Tort"); var request = new ApplicationCodeAuthKeyValidateRequest("Nep", "Tort", "1"); var validateKey = await _keyValidator.ValidateKeyAsync(request); //тесты апи var apiRequest = new ValidateKeyRequest("Nep", "Tort", "1"); var isValidFromApi = await _keyCheckerApiClient.ValidateApplicationKey(apiRequest); if (isValidFromApi) { Console.WriteLine("Апи сработало. Ну и отлично."); } }
public async Task <IActionResult> ValidateKey([FromBody] ValidateKeyRequest validateKeyRequest) { // валидация модели запроса if (validateKeyRequest is null) { _logger.LogWarning("В запрос на валидацию пришла пустая модель"); return(BadRequest("В запрос пришла пустая модель")); } else if (!validateKeyRequest.SelfValidate(out var validateMessage)) { _logger.LogWarning(validateMessage); return(BadRequest(validateMessage)); } // собственно выполнение запроса var validateApplicationRequest = _mapper.Map <ApplicationCodeAuthKeyValidateRequest>(validateKeyRequest); var result = await _authKeyValidator.ValidateKeyAsync(validateApplicationRequest); return(Ok(result)); }