/// <summary>
        /// Creates the error response.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <param name="requestDto">The request dto.</param>
        /// <param name="ex">The ex.</param>
        /// <returns></returns>
        public static HttpError CreateErrorResponse(global::ServiceStack.Web.IRequest request, object requestDto, Exception ex)
        {
            try
            {
                Core.Log.WebEasNLogExtensions.ExecuteUsingLogicalContext(() => LogError(ex), request.SessionAs <IWebEasSession>(), requestDto);

                WebEasResponseStatus errorResponse = CreateWebEasResponseStatus(ex, requestDto);
                #if DEBUG
                errorResponse.StackTrace = GetStackTrace(request, requestDto, ex);
                errorResponse.Errors     = GetErrors(ex, new List <ResponseError>());
                #endif
                return(new HttpError(errorResponse, GetStatusCode(ex), GetErrorCode(ex), errorResponse.Message));
            }
            catch (Exception exx)
            {
                // Trace.TraceInformation(exx.Message);
                return(new HttpError(exx, GetStatusCode(ex), GetErrorCode(ex), ex.Message));
            }
        }
 /// <summary>
 /// Gets the stack trace.
 /// </summary>
 /// <param name="request">The request.</param>
 /// <param name="ex">The ex.</param>
 /// <returns></returns>
 private static string GetStackTrace(global::ServiceStack.Web.IRequest httpRequest, object request, Exception ex)
 {
     return(string.Format("[{0}: {1}]:\n[REQUEST: {2}]\n{3}", (request ?? new object()).GetType().GetOperationName(), DateTime.UtcNow, httpRequest.AbsoluteUri, ex.ToDescription()));
 }