示例#1
0
        public ErrorResponseModel GetResponseByExceptionType(TypedException ex)
        {
            HttpStatusCode statusCode;

            switch (ex.Type)
            {
            case ExceptionType.InvalidToken:
            case ExceptionType.TokenExpired:
                statusCode = HttpStatusCode.Unauthorized;
                break;

            case ExceptionType.LoginAlreayExists:
            case ExceptionType.EmailAlreayExists:
            case ExceptionType.InvalidLoginOrPassword:
            case ExceptionType.BadRequest:
                statusCode = HttpStatusCode.BadRequest;
                break;

            default:
                statusCode = HttpStatusCode.InternalServerError;
                break;
            }

            return(new ErrorResponseModel()
            {
                StatusCode = statusCode,
                ErrorMessage = ex.IsCustomMessage ? ex.Message : GetExceptionMessageText(ex.Type)
            });
        }
示例#2
0
        private async Task HandleTypedExceptionAsync(HttpContext context, TypedException exception)
        {
            var response   = context.Response;
            var statusCode = (int)HttpStatusCode.OK;

            response.ContentType = "application/json";
            response.StatusCode  = statusCode;
            var responseObj = Mapper.Map <Response>(_exceptionService.GetResponseByExceptionType(exception));

            responseObj.success = false;

            await response.WriteAsync(JsonConvert.SerializeObject(responseObj));
        }