public async Task Invoke(HttpContext httpContext)
        {
            try
            {
                await _next(httpContext);
            }
            catch (Exception ex)
            {
                var responseData = _exceptionCompositionRoot.Map(ex);

                if (responseData is { })
Beispiel #2
0
        private async Task HandleErrorAsync(HttpContext context, Exception exception)
        {
            var errorResponse = _exceptionCompositionRoot.Map(exception);

            context.Response.StatusCode = (int)(errorResponse?.StatusCode ?? HttpStatusCode.InternalServerError);
            var response = errorResponse?.Response;

            if (response is null)
            {
                return;
            }

            await context.Response.WriteAsJsonAsync(response);
        }
Beispiel #3
0
        private async Task HandleErrorAsync(HttpContext context, Exception exception)
        {
            var exceptionResponse = _exceptionCompositionRoot.Map(exception);

            context.Response.StatusCode = (int)(exceptionResponse?.StatusCode ?? HttpStatusCode.InternalServerError);
            var response = exceptionResponse?.Response;

            if (response is null)
            {
                await context.Response.WriteAsync(string.Empty);

                return;
            }

            context.Response.ContentType = "application/json";
            var payload = JsonConvert.SerializeObject(exceptionResponse.Response, SerializerSettings);
            await context.Response.WriteAsync(payload);
        }