示例#1
0
        private async Task <FacesVerificationResult> VerifyFaces(bool force, VerifyFacesRequest verifyFacesRequest)
        {
            try
            {
                await _reachClient.CheckAuthorization(force);

                var stringContent = new StringContent(JsonConvert.SerializeObject(verifyFacesRequest), Encoding.UTF8, "application/json");
                var response      = await _reachClient.HttpClient.PostAsync(string.Format("{0}/v2.0/faces/verify", _reachClient._serviceUrl), stringContent);

                if (response.IsSuccessStatusCode)
                {
                    return(JsonConvert.DeserializeObject <FacesVerificationResult>(await response.Content.ReadAsStringAsync()));
                }
                else
                {
                    throw await _reachClient.ProcessUnsuccessResponseMessage(response);
                }
            }
            catch (ReachClientException ex)
            {
                if (ex.ErrorCode == ReachExceptionCodes.AuthTokenExpired)
                {
                    return(await VerifyFaces(true, verifyFacesRequest));
                }
                throw;
            }
            catch (Exception)
            {
                throw new ReachClientException {
                          ErrorCode = ReachExceptionCodes.ClientUnknown
                };
            }
        }
示例#2
0
 public async Task <FacesVerificationResult> VerifyFaces(VerifyFacesRequest verifyFacesRequest)
 {
     return(await VerifyFaces(false, verifyFacesRequest));
 }