예제 #1
0
파일: AnyHandler.cs 프로젝트: mamasha/tests
        private void logEnd(string sessionId, HttpRequest request, AnyResult result, Exception error)
        {
            var log = AppController.Instance.Logger;

            var sb = new StringBuilder(1024);

            sb.Append($"{result.trackingId} >> ");

            if (error == null)
            {
                sb.Append(result.ToWireJson());
                log.Trace(sb.ToString());
                return;
            }

            var details = new {
                errorMessage = error.Message,
                sessionId,
                error.StackTrace,
                result,
                request = request.Dump(),
            };

            sb.Append(details.ToJson());
            log.Trace(sb.ToString());
        }
예제 #2
0
파일: AnyHandler.cs 프로젝트: mamasha/tests
        private AnyResult newResult(string sessionId)
        {
            var result = new AnyResult {
                trackingId = AnyResultHelpers.GenerateTrackingId(sessionId),
                status     = HttpStatusCode.OK
            };

            return(result);
        }
예제 #3
0
파일: AnyHandler.cs 프로젝트: mamasha/tests
        private void setErrorDetails(AnyResult result, Exception error, bool detailsOnError)
        {
            if (error == null)
            {
                return;
            }

            result.status = HttpStatusCode.InternalServerError;
            result.error  = new AnyResult.Error {
                message = $"Something went wrong ({result.trackingId})",
            };

            if (detailsOnError == false)
            {
                return;
            }

            result.error.message += $"; {error.Message}";
            result.error.details  = error.Data;
        }
예제 #4
0
파일: AnyHandler.cs 프로젝트: mamasha/tests
        private void logStart(string sessionId, HttpRequest request, AnyResult result)
        {
            var log = AppController.Instance.Logger;

            log.Trace($"{result.trackingId} << {request.RawUrl}");
        }
예제 #5
0
파일: AnyResult.cs 프로젝트: mamasha/tests
 public static string ToJson(this AnyResult result)
 {
     return
         (JsonConvert.SerializeObject(result, Formatting.Indented, _jsonSettings));
 }
예제 #6
0
파일: AnyResult.cs 프로젝트: mamasha/tests
 public static string ToWireJson(this AnyResult result)
 {
     return
         (JsonConvert.SerializeObject(result, Formatting.None, _jsonSettings));
 }