Esempio n. 1
0
        private void HandleWebExceptionError(WebException e)
        {
            var response = (HttpWebResponse)e.Response;

            if (!response.StatusCode.Equals(HttpStatusCode.OK))
            {
                ErrorHandler?.Invoke(e);
                HttpErrorHandler?.Invoke(response.StatusCode);
                switch (response.StatusCode)
                {
                case HttpStatusCode.BadRequest:
                    BadRequestErrorHandler?.Invoke();
                    break;

                case HttpStatusCode.InternalServerError:
                    InternalServerErrorHandler?.Invoke();
                    break;

                case HttpStatusCode.RequestTimeout:
                    TimeOutHandler?.Invoke();
                    break;

                case HttpStatusCode.NotFound:
                    NotFoundHandler?.Invoke();
                    break;

                case HttpStatusCode.Unauthorized:
                    UnauthorizeHandler?.Invoke();
                    break;
                }
            }

            RequestCompletedHandler?.Invoke();
        }
Esempio n. 2
0
        private async Task <IResponse> HandleRequest(IRequestHandler handler, String request)
        {
            IResponse response;

            try
            {
                response = await handler.HandleRequest(new Request(request));
            }
            catch (Exception ex)
            {
                var errorHandler = new InternalServerErrorHandler(ex);
                response = errorHandler.HandleRequest(new Request(request)).Result;
            }

            return(response);
        }