public async Task <ResponseData <string> > branchRequest(IRequestMonitor monitor, HttpRequestTask httpRequestTask, string url, string data)
        {
            CancellationTokenSource cts          = new CancellationTokenSource();
            ResponseData <string>   responsedata = null;

            //Await run try
            if (monitor != null)
            {
                monitor.IsRequesting = false;
            }
            try
            {
                responsedata = await httpRequestTask(this.httpConfig, url, data, cts.Token);
            }
            catch (AggregateException e)
            {
                throw e;
            }
            finally
            {
                cts.Dispose();
                cts = null;
                if (monitor != null)
                {
                    monitor.IsRequesting = false;
                }
            }
            return(responsedata);
        }
 public void request(IRequestMonitor monitor, WebPageModel page, HandWebDataTask handTask, RepeatInfo repeat, string passingData = null)
 {
     request(monitor, page, handTask, repeat, new PassingData()
     {
         Data = passingData
     });
 }
Esempio n. 3
0
 public LoginQuery(string login, string password, IHashPassword hashHandler, IRequestMonitor requestMonitor)
 {
     Login          = login;
     Password       = password;
     HashHandler    = hashHandler;
     RequestMonitor = requestMonitor;
 }
        public void formatRequest(IRequestMonitor monitor, WebPageModel page, HandWebDataTask handTask, object[] addition, RepeatInfo repeat, params string[] datas)
        {
            string data = string.Empty;

            data = string.Format(page.PostDataFormat, datas);
            request(monitor, page, handTask, repeat, new PassingData()
            {
                Data = data, Addition = addition
            });
        }
        public AuthController(IAuthServiceWrapper services, IConfiguration tokenSettingsSection, IRequestMonitor monitor, ILogger <AuthController> logger)
        {
            this.services = services;
            var tokenSettings = tokenSettingsSection.Get <TokenConfig>();

            this.tokenHelper            = new TokenHelper(tokenSettings.Secret, tokenSettings.ExpirationTime);
            this.hashHandler            = new BCryptHash();
            this.requestMonitor         = monitor;
            this.credentialsRestriction = new DefaultRestriction();
            this.logger = logger;
        }
        public void request(IRequestMonitor monitor, WebPageModel page, HandWebDataTask handTask, RepeatInfo repeatInfo, PassingData data)
        {
            if (page == null)
            {
                return;
            }
            //Cancel Previous
            ensureCancelCTS();
            cacheCTS = new CancellationTokenSource();
            var token = cacheCTS.Token;

            //Create Monitor
            if (monitor == null)
            {
                monitor = new RequestMonitor();
            }
            //Request
            var httpRequest = provideRequestTask(page.IsPost);
            var requestInfo = new HttpRequestInfo()
            {
                RequestTask       = httpRequest,
                HttpRequestConfig = httpConfig,
                RequestMonitor    = monitor,
                HandDataTask      = handTask,
                Page       = page,
                Passing    = data,
                RepeatInfo = repeatInfo,
                Token      = token
            };

            monitor.IsTaskEmpty   = false;
            monitor.IsTaskWaiting = false;
            Task.Run(() => loopingRequest(requestInfo).ContinueWith(task =>
            {
                ensureCancelCTS();
                monitor.IsTaskWaiting = false;
                monitor.IsTaskEmpty   = true;
                monitor.IsRequesting  = false;
                if (task.IsCanceled)
                {
                    monitor.OnTaskCanceled();
                }
                else if (task.IsFaulted)
                {
                    if (task.Exception.GetBaseException() != null)
                    {
                        monitor.OnFaulted(task.Exception.GetBaseException());
                    }
                }
            }));
        }
Esempio n. 7
0
 internal ScopeFixture(IScope parentScope, IRequestMonitor monitor)
 {
     _aggregateFactory = new AggregateFactory();
     _thisScope        = new FactoryScope(_aggregateFactory, parentScope, monitor);
     _monitor          = monitor;
 }
 public void request(IRequestMonitor monitor, WebPageModel page, HandWebDataTask handTask, PassingData data)
 {
     request(monitor, page, handTask, RepeatInfo.Once, data);
 }
 public void formatRequest(IRequestMonitor monitor, WebPageModel page, HandWebDataTask handTask, object[] addition, params string[] datas)
 {
     formatRequest(monitor, page, handTask, addition, RepeatInfo.Once, datas);
 }
Esempio n. 10
0
 public FactoryScope(IFactory factory, IScope parentScope, IRequestMonitor monitor)
 {
     _factory     = factory;
     _parentScope = parentScope;
     _monitor     = monitor;
 }