//private async Task FixUserName(HttpContext context)
        //{
        //    if (!context.Items.ContainsKey(FilterConstants.UserName) &&
        //        context.User?.Identity != null &&
        //        !string.IsNullOrEmpty(context.User.Identity.Name))
        //    {
        //        context.Items.Add(FilterConstants.UserName, context.User.Identity.Name);
        //    }
        //    //else
        //    //{
        //    //    var authResult = await context.AuthenticateAsync("Bearer");
        //    //    if (!context.Items.ContainsKey(FilterConstants.UserName) && !string.IsNullOrEmpty(authResult?.Principal?.Identity?.Name))
        //    //        context.Items.Add(FilterConstants.UserName, authResult?.Principal?.Identity?.Name);
        //    //}
        //}

        /// <summary>
        /// Финализация обработки запроса
        /// </summary>
        private async Task FinalizeResponse(MemoryStream memStream,
                                            Stream originalBody,
                                            HttpContext context,
                                            ILogger logger,
                                            WebApiLogMessage webApiLogMessage)
        {
            memStream.Position = 0;
            var responceBodyStream = new StreamReader(memStream);

            using (responceBodyStream)
            {
                string responseBody = responceBodyStream.ReadToEnd();

                memStream.Position = 0;
                await memStream.CopyToAsync(originalBody);

                if (context.Items.ContainsKey("excpetionReceived"))
                {
                    var webApiExceptionLogMessage = LogTools.CreateLogMessage <WebApiExceptionLogMessage>(context);
                    webApiExceptionLogMessage.ExceptionReceived = context.Items["excpetionReceived"] as Exception;

                    LogTools.WriteLogMessage(context, webApiExceptionLogMessage, logger, responseBody);
                }
                else
                {
                    LogTools.WriteLogMessage(context, webApiLogMessage, logger, responseBody);
                }
            }
        }