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 bool Debug { get; set; }
public bool IsConfigured()
{
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);
}
if (options.Value.Debug)
{
builder = builder.ReadResponseAsString(true);
}
client = builder.Build();
}
}

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

@ -1,4 +1,4 @@
// ==========================================================================
// ==========================================================================
// Squidex Headless CMS
// ==========================================================================
// Copyright (c) Squidex UG (haftungsbeschraenkt)
@ -15,16 +15,16 @@ namespace Squidex.Web
{
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 (resultContext.Result is ObjectResult { Value: ProblemDetails problem })
if (context.Result is ObjectResult objectResult && objectResult.Value is ProblemDetails problem)
{
var (error, _) = problem.ToErrorDto(context.HttpContext);
context.Result = GetResult(error);
}
return next();
}
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)
{
currentContent = await body.ReadAsStringAsync();
currentContent = await body.ReadAsStringAsync(cancellationToken);
currentContentType = body.Headers.ContentType?.MediaType;
}

Loading…
Cancel
Save