public void CreateProblemDetails_DefaultValues()
        {
            // Act
            var problemDetails = Factory.CreateProblemDetails(GetHttpContext());

            // Assert
            Assert.Equal(500, problemDetails.Status);
            Assert.Equal("An error occured while processing your request.", problemDetails.Title);
            Assert.Equal("https://tools.ietf.org/html/rfc7231#section-6.6.1", problemDetails.Type);
            Assert.Null(problemDetails.Instance);
            Assert.Null(problemDetails.Detail);
            Assert.Collection(
                problemDetails.Extensions,
                kvp =>
            {
                Assert.Equal("traceId", kvp.Key);
                Assert.Equal("some-trace", kvp.Value);
            });
        }
        public IActionResult GetClientError(ActionContext actionContext, IClientErrorActionResult clientError)
        {
            var problemDetails = _problemDetailsFactory.CreateProblemDetails(actionContext.HttpContext, clientError.StatusCode);

            return(new ObjectResult(problemDetails)
            {
                StatusCode = problemDetails.Status,
                ContentTypes =
                {
                    "application/problem+json",
                    "application/problem+xml",
                },
            });
        }