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(); }
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); }