private static void WriteJsvErrorToResponse(this IHttpResponse response, string operationName, string errorMessage, Exception ex, int statusCode) { var sb = new StringBuilder(); sb.Append("{"); sb.Append("ResponseStatus:{"); sb.AppendFormat("ErrorCode:{0},", ex.ToErrorCode().EncodeJsv()); sb.AppendFormat("Message:{0},", ex.Message.EncodeJsv()); if (EndpointHost.Config.DebugMode) sb.AppendFormat("StackTrace:{0}", ex.StackTrace.EncodeJsv()); sb.Append("}"); sb.Append("}"); response.WriteErrorTextToResponse(sb, ContentType.Jsv, statusCode); }
private static void WriteXmlErrorToResponse(this IHttpResponse response, string operationName, string errorMessage, Exception ex, int statusCode) { var sb = new StringBuilder(); sb.AppendFormat("<{0}Response xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"{1}\">\n", operationName, EndpointHost.Config.DefaultOperationNamespace); sb.AppendLine("<ResponseStatus>"); sb.AppendFormat("<ErrorCode>{0}</ErrorCode>\n", ex.ToErrorCode().EncodeXml()); sb.AppendFormat("<Message>{0}</Message>\n", ex.Message.EncodeXml()); if (EndpointHost.Config.DebugMode) sb.AppendFormat("<StackTrace>{0}</StackTrace>\n", ex.StackTrace.EncodeXml()); sb.AppendLine("</ResponseStatus>"); sb.AppendFormat("</{0}Response>", operationName); response.WriteErrorTextToResponse(sb, ContentType.Xml, statusCode); }
private static void WriteJsonErrorToResponse(this IHttpResponse response, string operationName, string errorMessage, Exception ex, HttpStatusCode statusCode) { var sb = new StringBuilder(); sb.AppendLine("{"); sb.AppendLine("\"ResponseStatus\":{"); sb.AppendFormat(" \"ErrorCode\":{0},\n", ex.ToErrorCode().EncodeJson()); sb.AppendFormat(" \"Message\":{0},\n", ex.Message.EncodeJson()); if (EndpointHost.Config.DebugMode) sb.AppendFormat(" \"StackTrace\":{0}\n", ex.StackTrace.EncodeJson()); sb.AppendLine("}"); sb.AppendLine("}"); response.WriteErrorTextToResponse(sb, ContentType.Json, statusCode); }