From b69cbed71b3c432e1393d4eec8c6d9bb9399650d Mon Sep 17 00:00:00 2001 From: Sebastian Date: Tue, 20 Oct 2020 16:50:35 +0200 Subject: [PATCH] Improved error handling. --- backend/src/Squidex.Web/ApiExceptionConverter.cs | 8 ++++++++ .../Areas/Api/Controllers/Assets/AssetsController.cs | 6 ++++-- .../Areas/Api/Controllers/Contents/ContentsController.cs | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/backend/src/Squidex.Web/ApiExceptionConverter.cs b/backend/src/Squidex.Web/ApiExceptionConverter.cs index 40691cf6e..24f3a103d 100644 --- a/backend/src/Squidex.Web/ApiExceptionConverter.cs +++ b/backend/src/Squidex.Web/ApiExceptionConverter.cs @@ -16,6 +16,8 @@ using Microsoft.AspNetCore.Mvc; using Squidex.Infrastructure; using Squidex.Infrastructure.Translations; using Squidex.Infrastructure.Validation; +using BadHttpRequestExceptionIIS = Microsoft.AspNetCore.Server.IIS.BadHttpRequestException; +using BadHttpRequestExceptionKestrel = Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException; namespace Squidex.Web { @@ -106,6 +108,12 @@ namespace Squidex.Web case DecoderFallbackException _: return (CreateError(400, exception.Message), true); + case BadHttpRequestExceptionIIS ex: + return (CreateError(ex.StatusCode, ex.Message), true); + + case BadHttpRequestExceptionKestrel ex: + return (CreateError(ex.StatusCode, ex.Message), true); + default: return (CreateError(500), false); } diff --git a/backend/src/Squidex/Areas/Api/Controllers/Assets/AssetsController.cs b/backend/src/Squidex/Areas/Api/Controllers/Assets/AssetsController.cs index ab154a2d0..b2cd8b3c3 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Assets/AssetsController.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Assets/AssetsController.cs @@ -178,7 +178,8 @@ namespace Squidex.Areas.Api.Controllers.Assets /// /// 201 => Asset created. /// 404 => App not found. - /// 400 => Asset exceeds the maximum size. + /// 413 => Asset exceeds the maximum upload size. + /// 400 => Asset request not valid. /// /// /// You can only upload one file at a time. The mime type of the file is not calculated by Squidex and is required correctly. @@ -214,7 +215,8 @@ namespace Squidex.Areas.Api.Controllers.Assets /// /// 200 => Asset updated. /// 404 => Asset or app not found. - /// 400 => Asset exceeds the maximum size. + /// 413 => Asset exceeds the maximum upload size. + /// 400 => Asset request not valid. /// /// /// Use multipart request to upload an asset. diff --git a/backend/src/Squidex/Areas/Api/Controllers/Contents/ContentsController.cs b/backend/src/Squidex/Areas/Api/Controllers/Contents/ContentsController.cs index 813c4e160..1c8e7c8f3 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Contents/ContentsController.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Contents/ContentsController.cs @@ -508,7 +508,7 @@ namespace Squidex.Areas.Api.Controllers.Contents /// /// 200 => Content status changed. /// 404 => Content, schema or app not found. - /// 400 => Request is not valid. + /// 400 => Content request is not valid. /// /// /// You can read the generated documentation for your app at /api/content/{appName}/docs.