private static void TryProcessResponse(IAgent agent, Task responseTask, ITransaction transaction, ISegment segment, IExternalSegmentData externalSegmentData) { try { if (!ValidTaskResponse(responseTask) || (segment == null)) { return; } var restResponse = RestSharpHelper.GetRestResponse(responseTask); var statusCode = RestSharpHelper.GetResponseStatusCode(restResponse); if (statusCode != 0) { externalSegmentData.SetHttpStatusCode(statusCode); } var headers = RestSharpHelper.GetResponseHeaders(restResponse); if (headers == null) { return; } transaction.ProcessInboundResponse(headers, segment); } catch (Exception ex) { agent.HandleWrapperException(ex); } }
private static void TryProcessResponse(WebResponse response, ITransaction transaction, ISegment segment, IExternalSegmentData externalSegmentData) { if (segment == null) { return; } var httpWebResponse = response as HttpWebResponse; var statusCode = httpWebResponse?.StatusCode; if (statusCode.HasValue) { externalSegmentData.SetHttpStatusCode((int)statusCode.Value); } var headers = response?.Headers?.ToDictionary(); if (headers == null) { return; } transaction.ProcessInboundResponse(headers, segment); }
private static void TryProcessResponse(IAgent agent, Task <HttpResponseMessage> response, ITransaction transaction, ISegment segment, IExternalSegmentData externalSegmentData) { if (!ValidTaskResponse(response) || (segment == null)) { return; } TryProcessResponse(agent, response?.Result, transaction, segment, externalSegmentData); }
private static void TryProcessResponse(IAgent agent, HttpResponseMessage response, ITransaction transaction, ISegment segment, IExternalSegmentData externalSegmentData) { try { if (response == null || segment == null) { return; } var httpStatusCode = response.StatusCode; externalSegmentData.SetHttpStatusCode((int)httpStatusCode); var headers = response.Headers?.ToList(); if (headers == null) { return; } var flattenedHeaders = headers.Select(Flatten); transaction.ProcessInboundResponse(flattenedHeaders, segment); } catch (Exception ex) { agent.HandleWrapperException(ex); } }
private static void TryProcessResponse(IAgent agent, Task <HttpResponseMessage> response, ITransaction transaction, ISegment segment, IExternalSegmentData externalSegmentData) { try { if (!ValidTaskResponse(response) || (segment == null)) { return; } var result = response?.Result; var httpStatusCode = result?.StatusCode; if (httpStatusCode.HasValue) { externalSegmentData.SetHttpStatusCode((int)httpStatusCode); } var headers = result?.Headers?.ToList(); if (headers == null) { return; } var flattenedHeaders = headers.Select(Flatten); transaction.ProcessInboundResponse(flattenedHeaders, segment); } catch (Exception ex) { agent.HandleWrapperException(ex); } }