public async Task DeleteResponseSnap(ResponseSnap responseSnap) { if (responseSnap == null) { throw new ArgumentNullException(nameof(responseSnap)); } await _responseSnapRepository.Delete(responseSnap); }
public static ResponseSnap PreResponse(MonitorEvent item, string traceId) { var success = GetValue <bool>(item.Data, MonitorKeys.response_success); var body = GetValue <string>(item.Data, MonitorKeys.response_body); if (false) { if (success && item.EventType == RequestTypeEnum.Http.ToString().ToLowerInvariant()) { success = TryParseJson(body, out JObject jObject); if (success) { success = jObject.TryGetValue("code", out JToken jToken); if (success) { success = jToken != null && jToken.ToString() == "0"; } } } else if (success && item.EventType == RequestTypeEnum.Signalr.ToString().ToLowerInvariant()) { success = TryParseJson(body, out JObject jObject); if (success) { success = jObject.TryGetValue("success", out JToken jToken); if (success) { success = jToken != null && jToken.ToString().ToLowerInvariant() == "true"; } } } } // response var contentlength = body == null ? 0 : Encoding.Default.GetByteCount(body); var elapsed = GetValue <long>(item.Data, MonitorKeys.response_elapsed); var statusCode = GetValue <int?>(item.Data, MonitorKeys.response_statuscode); var snap = new ResponseSnap { TraceId = traceId, StatusCode = statusCode, Success = success, ContentLength = contentlength, ResponseBody = body, Elapsed = elapsed, CreateTime = DateTime.Now, }; return(snap); }