Example #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();
        }
Example #2
0
        public void Returns404StatusTest()
        {
            var handler  = new NotFoundHandler();
            var response = handler.Handle(_request);

            Assert.Equal(404, response.StatusCode);
        }
Example #3
0
 public static IHandler Build()
 {
     var okHandler = new OkHandler();
     var putHandler = new PutHandler();
     var notFoundHandler = new NotFoundHandler(putHandler);
     var methodIsSupportedHandler = new MethodIsSupportedHandler(okHandler);
     var resourceExistsHandler = new ResourceExistsHandler(methodIsSupportedHandler, notFoundHandler);
     var endpointExistsHandler = new EndpointExistsHandler(resourceExistsHandler);
     var optionsHandler = new OptionsHandler(endpointExistsHandler);
     var authorizationHandler = new AuthorizationHandler(optionsHandler);
     var authenticationHandler = new AuthenticationHandler(authorizationHandler);
     return authenticationHandler;
 }