public (bool, int) ValidateRequest(HttpContext context)
        {
            Boolean IsValidToken = false;
            int     StatusCode   = default(int);
            DiQueue diQueue      = DiQueue.GetInstance();

            currentSession                      = context.RequestServices.GetService(typeof(CurrentSession)) as CurrentSession;
            currentSession.RequestPath          = context.Request != null ? context.Request.Path.Value : "";
            currentSession.FileUploadFolderName = this.configuration.GetValue <string>("Configuration:FolderName");
            Parallel.ForEach(context.Request.Headers, header =>
            {
                if (header.Value.FirstOrDefault() != null)
                {
                    if (header.Key == TokenName)
                    {
                        currentSession.Authorization = header.Value.ToString().Trim();
                    }
                }
            });

            if (NoCheck.Where(x => x.ToLower() == currentSession.RequestPath.Replace(@"/api/", "").ToLower()).FirstOrDefault() == null)
            {
                if (!string.IsNullOrEmpty(currentSession.Authorization))
                {
                    EFlags flag = this.beanContext.ValidateToken(currentSession.Authorization);
                    StatusCode   = (int)flag;
                    IsValidToken = false;
                    if (flag == EFlags.Success)
                    {
                        IsValidToken = true;
                        StatusCode   = (int)EFlags.Success;
                    }
                }
                else
                {
                    StatusCode   = (int)EFlags.TokenNotFound;
                    IsValidToken = false;
                }
            }
            else
            {
                IsValidToken = true;
                StatusCode   = (int)EFlags.Success;
            }
            return(IsValidToken, StatusCode);
        }
 public BottomhalfMiddleware(RequestDelegate next, IConfiguration configuration, bool Flag = false)
 {
     diQueue         = DiQueue.GetInstance();
     _next           = next;
     EnableApiManage = Flag;
 }