Browse Source

Improved error handling.

pull/739/head
Sebastian 4 years ago
parent
commit
c74fe2af97
  1. 2
      backend/src/Squidex.Domain.Apps.Entities/History/NotifoOptions.cs
  2. 5
      backend/src/Squidex.Domain.Apps.Entities/History/NotifoService.cs
  3. 10
      backend/src/Squidex.Web/ApiExceptionFilterAttribute.cs
  4. 2
      backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/Scripting/MockupHttpHandler.cs

2
backend/src/Squidex.Domain.Apps.Entities/History/NotifoOptions.cs

@ -15,6 +15,8 @@ namespace Squidex.Domain.Apps.Entities.History
public string ApiUrl { get; set; } = "https://app.notifo.io"; public string ApiUrl { get; set; } = "https://app.notifo.io";
public bool Debug { get; set; }
public bool IsConfigured() public bool IsConfigured()
{ {
return return

5
backend/src/Squidex.Domain.Apps.Entities/History/NotifoService.cs

@ -61,6 +61,11 @@ namespace Squidex.Domain.Apps.Entities.History
builder = builder.SetApiUrl(options.Value.ApiUrl); builder = builder.SetApiUrl(options.Value.ApiUrl);
} }
if (options.Value.Debug)
{
builder = builder.ReadResponseAsString(true);
}
client = builder.Build(); client = builder.Build();
} }
} }

10
backend/src/Squidex.Web/ApiExceptionFilterAttribute.cs

@ -1,4 +1,4 @@
// ========================================================================== // ==========================================================================
// Squidex Headless CMS // Squidex Headless CMS
// ========================================================================== // ==========================================================================
// Copyright (c) Squidex UG (haftungsbeschraenkt) // Copyright (c) Squidex UG (haftungsbeschraenkt)
@ -15,16 +15,16 @@ namespace Squidex.Web
{ {
public sealed class ApiExceptionFilterAttribute : ActionFilterAttribute, IExceptionFilter, IAsyncActionFilter public sealed class ApiExceptionFilterAttribute : ActionFilterAttribute, IExceptionFilter, IAsyncActionFilter
{ {
public override async Task OnResultExecutionAsync(ResultExecutingContext context, ResultExecutionDelegate next) public override Task OnResultExecutionAsync(ResultExecutingContext context, ResultExecutionDelegate next)
{ {
var resultContext = await next(); if (context.Result is ObjectResult objectResult && objectResult.Value is ProblemDetails problem)
if (resultContext.Result is ObjectResult { Value: ProblemDetails problem })
{ {
var (error, _) = problem.ToErrorDto(context.HttpContext); var (error, _) = problem.ToErrorDto(context.HttpContext);
context.Result = GetResult(error); context.Result = GetResult(error);
} }
return next();
} }
public void OnException(ExceptionContext context) public void OnException(ExceptionContext context)

2
backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/Scripting/MockupHttpHandler.cs

@ -54,7 +54,7 @@ namespace Squidex.Domain.Apps.Core.Operations.Scripting
if (request.Content is StringContent body) if (request.Content is StringContent body)
{ {
currentContent = await body.ReadAsStringAsync(); currentContent = await body.ReadAsStringAsync(cancellationToken);
currentContentType = body.Headers.ContentType?.MediaType; currentContentType = body.Headers.ContentType?.MediaType;
} }

Loading…
Cancel
Save