feat(apiv2): ignore exception caused by invalid user-provided JSON
return 400 bad request instead
This commit is contained in:
		@@ -133,6 +133,15 @@ namespace PluralKit.API
 | 
			
		||||
            app.UseExceptionHandler(handler => handler.Run(async ctx =>
 | 
			
		||||
            {
 | 
			
		||||
                var exc = ctx.Features.Get<IExceptionHandlerPathFeature>();
 | 
			
		||||
 | 
			
		||||
                // handle common ISEs that are generated by invalid user input
 | 
			
		||||
                if (exc.Error is InvalidCastException && exc.Error.Message.Contains("Newtonsoft.Json"))
 | 
			
		||||
                {
 | 
			
		||||
                    ctx.Response.StatusCode = 400;
 | 
			
		||||
                    await ctx.Response.WriteAsync("{\"message\":\"400: Bad Request\",\"code\":0}");
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                if (exc.Error is not PKError)
 | 
			
		||||
                {
 | 
			
		||||
                    ctx.Response.StatusCode = 500;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user