Пример #1
0
        private async Task <Response> BuildResponse()
        {
            Response response = null;

            var originalBodyStream = _context.Response.Body;

            using (var responseBody = new MemoryStream())
            {
                _context.Response.Body = responseBody;

                await _next.Invoke(_context);

                string responseBodyData = await ProcessResponseBody(_context);

                _context.Response.Headers.Add("x-documentation-url", _configValues.options.baseLogUrl + "/logs/" + guid);
                ResponseProcessor responseProcessor = new ResponseProcessor(_context.Response, responseBodyData, _configValues);
                response = responseProcessor.ProcessResponse();

                await responseBody.CopyToAsync(originalBodyStream);
            }
            return(response);
        }