コード例 #1
0
        private EventResponseModel ToResponse(IOwinResponse response, StreamHelper outputStream, string transactionId)
        {
            var rspHeaders = LoggerHelper.ToHeaders(response.Headers, debug);

            // ResponseBody
            string contentEncoding = "";

            rspHeaders.TryGetValue("Content-Encoding", out contentEncoding);

            var body        = LoggerHelper.GetOutputFilterStreamContents(outputStream, contentEncoding);
            var bodyWrapper = LoggerHelper.Serialize(body, response.ContentType);

            // Add Transaction Id to Response Header
            rspHeaders = LoggerHelper.AddTransactionId("X-Moesif-Transaction-Id", transactionId, rspHeaders);

            var eventRsp = new EventResponseModel()
            {
                Time             = DateTime.UtcNow,
                Status           = response.StatusCode,
                Headers          = rspHeaders,
                Body             = bodyWrapper.Item1,
                TransferEncoding = bodyWrapper.Item2
            };

            return(eventRsp);
        }