Example #1
0
        public bool OnUnauthorizedError()
        {
            var cancel = new CancelEventArgs(true);

            UnauthorizedError?.Invoke(this, cancel);
            return(!cancel.Cancel);
        }
        private UnauthorizedObjectResult UnauthorizedResult(AuthorizationFilterContext context)
        {
            var routePath      = string.Join(@"/", context.RouteData.Values.Select(item => item.Value));
            var responseObject = new UnauthorizedError(routePath);

            context.HttpContext.Response.StatusCode = StatusCodes.Status401Unauthorized;
            return(new UnauthorizedObjectResult(responseObject));
        }
Example #3
0
        private static ProblemDetails CreateDefaultProblemDetails(Error error)
        {
            int statusCode = error switch
            {
                UnauthorizedError _ => StatusCodes.Status403Forbidden,
                NotFoundError _ => StatusCodes.Status404NotFound,
                ConflictError _ => StatusCodes.Status409Conflict,
                _ => StatusCodes.Status400BadRequest
            };

            return(new ProblemDetails
            {
                Detail = error.Detail,
                Status = statusCode,
                Title = error.Title,
                Type = $"https://httpstatuses.com/{statusCode}"
            });
        }
    }