BlipFace.Service.Communication.BlipCommunication.AfterValidate C# (CSharp) Метод

AfterValidate() приватный Метод

Metoda wywoływana jako callback przy pobieraniu Update'ów, korzysta z niej metoda GetUpdatesAsync
private AfterValidate ( IAsyncResult result ) : void
result IAsyncResult
Результат void
        private void AfterValidate(IAsyncResult result)
        {
            BlipCommunicationState state = BlipCommunicationState.OK;
            Exception exp = null;
            HttpStatusCode httpCode = HttpStatusCode.OK;

            bool validate = false;

            HttpResponseMessage resp = null;
            //sprawdzamy czy komunikacja się powiodła
            try
            {
                //pobieramy obiekt HttpClient, dzięki któremu został wysłany request
                //przekazaliśmy ten obiekt jako state
                var client = result.AsyncState as HttpClient;

                //pobieramy odpowiedź
                using (resp = client.EndSend(result))
                {
                    httpCode = resp.StatusCode;

                    if (resp.StatusCode != HttpStatusCode.Unauthorized)
                    {
                        //gdy nie wyrzuci wyjątku znaczy że wszystko jest ok
                        //lecz gdy wyrzuci wyjątek to znaczy że coś nawaliła komunikacja
                        resp.EnsureStatusIsSuccessful();

                        validate = true;
                    }
                }
            }
            catch (ArgumentOutOfRangeException aorEx)
            {
                state = BlipCommunicationState.CommunicationError;
            }
            catch (Exception ex)
            {
                state = BlipCommunicationState.Error;
                exp = ex;
            }

            //gdy wystąpiły jakieś błędy w komunikacji
            if (state == BlipCommunicationState.Error && ExceptionOccure != null)
            {
                ExceptionOccure(null, new ExceptionEventArgs(exp));
                return;
            }

            if (state == BlipCommunicationState.CommunicationError && CommunicationError != null)
            {
                CommunicationError(null, new CommunicationErrorEventArgs(httpCode, BlipActions.AfterValidate));
                return;
            }

            //zgłaszamy zdarzenie że walidacja zakńczona
            if (AuthorizationComplete != null)
            {
                AuthorizationComplete(validate);
            }
        }