private static Task HandleExceptionAsync(HttpContext context, Exception exception)
        {
            var responseType = context.Request.Headers[HeaderNames.Accept].FirstOrDefault(x => x == "application/xml") ??
                               "application/json";

            context.Response.ContentType = responseType;
            var message = string.Empty;

            if (exception is CustomBaseException)
            {
                context.Response.StatusCode = (int)HttpStatusCode.BadRequest;
                var errorDetails = new ErrorDetails
                {
                    Message = ((CustomBaseException)exception).Message,
                };
                message = responseType == "application/xml" ? errorDetails.ToXml() : errorDetails.ToJson();
            }
            else
            {
                context.Response.StatusCode = (int)HttpStatusCode.InternalServerError;
                var errorDetails = new ErrorDetails
                {
                    Message = "Internal Server Error from the custom middleware",
                };
                message = responseType == "application/xml" ? errorDetails.ToXml() : errorDetails.ToJson();
            }

            return(context.Response.WriteAsync(message));
        }