Example #1
0
        public static void HandleError(this IApplicationBuilder app, LogProvider logger)
        {
            app.Run(async context =>
            {
                var error = context.Features.Get <IExceptionHandlerFeature>();

                if (error != null)
                {
                    var ex = error.Error;

                    if (ex is AppException)
                    {
                        switch (((AppException)ex).ExceptionType)
                        {
                        case ExceptionType.Authorization:
                            await logger.CreateLog(context, ex, "auth");
                            break;

                        case ExceptionType.Validation:
                            break;

                        default:
                            await logger.CreateLog(context, ex);
                            break;
                        }

                        await context.SendErrorResponse(ex);
                    }
                    else
                    {
                        await logger.CreateLog(context, ex);
                        await context.SendErrorResponse(ex);
                    }
                }
            });
        }
Example #2
0
        public static void HandleError(this IApplicationBuilder app, LogProvider logger)
        {
            app.Run(async context =>
            {
                var error = context.Features.Get <IExceptionHandlerFeature>();

                if (error != null)
                {
                    var ex = error.Error;
                    await logger.CreateLog(context, ex);
                }

                context.Response.StatusCode  = 500;
                context.Response.ContentType = "application/json";

                if (error != null)
                {
                    var ex = error.Error;
                    await context.Response.WriteAsync(ex.GetExceptionChain(), Encoding.UTF8);
                }
            });
        }