private async Task LogApiInteraction(HttpRequestMessage requestMessage, HttpResponseMessage response, string responseMessage, TimeSpan elapsed, string userId) { try { bool.TryParse(ConfigurationManager.AppSettings["EnableApiLogging"], out bool enableApiLogging); var apiSessionId = _clientStorage?.Get("ApiSessionId") ?? (enableApiLogging ? userId.Clean() : null); if (apiSessionId != null && _apiRecorderSessionItemRepository != null) { if (responseMessage == null && response?.Content != null) { responseMessage = await response.Content?.ReadAsStringAsync(); } await _apiRecorderSessionItemRepository.CreateAsync(new Data.Entity.ApiRecorderSessionItem(apiSessionId, requestMessage.RequestUri.AbsolutePath) { HttpMethod = requestMessage.Method.ToString(), RawRequestBody = GetRequestJsonBody(requestMessage), RawResponseBody = responseMessage.Ellipsis(32000), RequestHeaders = ToJsonIndented(requestMessage.Headers), ResponseHeaders = ToJsonIndented(response.Headers), ElapsedTimeSpan = elapsed.ToString(), ElapsedMS = elapsed.TotalMilliseconds }); } } catch (Exception) { } }
private async Task LogApiInteraction(HttpRequestMessage requestMessage, HttpResponseMessage response, string responseMessage, TimeSpan elapsed) { var apiSessionId = _clientStorage?.Get("ApiSessionId"); if (apiSessionId != null && _apiRecorderSessionItemRepository != null) { if (responseMessage == null && response?.Content != null) { responseMessage = await response.Content?.ReadAsStringAsync(); } await _apiRecorderSessionItemRepository.CreateAsync(new Data.Entity.ApiRecorderSessionItem(apiSessionId, requestMessage.RequestUri.AbsolutePath) { HttpMethod = requestMessage.Method.ToString(), RawRequestBody = GetRequestJsonBody(requestMessage), RawResponseBody = responseMessage.Ellipsis(32000), RequestHeaders = ToJsonIndented(requestMessage.Headers), ResponseHeaders = ToJsonIndented(response.Headers), ElapsedTimeSpan = elapsed.ToString(), ElapsedMS = elapsed.TotalMilliseconds }); } }
public ActionResult ApiSessionRecorder() { ViewBag.SessionId = _clientStorage.Get("ApiSessionId"); return(View()); }