Пример #1
0
 /// <summary>
 /// <para>Adds given <paramref name="module"/> to configuration's <see cref="IClusterClientConfiguration.Modules"/> collection.</para>
 /// <para><paramref name="module"/> will be inserted into request module chain once near <paramref name="relatedModule"/>.</para>
 /// </summary>
 /// <param name="relatedModule">A module near which <paramref name="module"/> will be inserted.</param>
 /// <param name="module">A module to insert into request pipeline.</param>
 /// <param name="configuration">A configuration instance.</param>
 /// <param name="position">A relative position of <paramref name="module"/> from <paramref name="relatedModule"/>. This parameter is optional and has default value <see cref="ModulePosition.Before"/>.</param>
 public static void AddRequestModule(
     this IClusterClientConfiguration configuration,
     IRequestModule module,
     RequestModule relatedModule = RequestModule.Logging,
     ModulePosition position     = ModulePosition.Before)
 {
     configuration.AddRequestModule(module, RequestModulesMapping.GetModuleType(relatedModule), position);
 }
Пример #2
0
        /// <summary>
        /// <para>Adds given <paramref name="module"/> to configuration's <see cref="IClusterClientConfiguration.Modules"/> collection.</para>
        /// <para><paramref name="module"/> will be inserted into request module chain once around the module of specified type.</para>
        /// </summary>
        /// <param name="type">A type of module around which <paramref name="module"/> will be inserted.</param>
        /// <param name="module">A module to insert into request pipeline.</param>
        /// <param name="configuration">A configuration instance.</param>
        /// <param name="position">A relative position of <paramref name="module"/> from module of type <paramref name="type"/>. This parameter is optional and has default value <see cref="ModulePosition.Before"/>.</param>
        public static void AddRequestModule(
            this IClusterClientConfiguration configuration,
            IRequestModule module,
            Type type,
            ModulePosition position = ModulePosition.Before)
        {
            var modulesList = ObtainModules(configuration, type)[position];

            if (modulesList.All(m => m.GetType() != module.GetType()))
            {
                modulesList.Add(module);
            }
        }
Пример #3
0
        public void SetUp()
        {
            module1 = Substitute.For <IRequestModule>();
            module2 = Substitute.For <IRequestModule>();
            module3 = Substitute.For <IRequestModule>();
            module4 = Substitute.For <IRequestModule>();

            calledModules = new List <IRequestModule>();

            module1.ExecuteAsync(null, null)
            .ReturnsForAnyArgs(
                info =>
            {
                calledModules.Add(module1);
                return(info.Arg <Func <IRequestContext, Task <ClusterResult> > >()(info.Arg <IRequestContext>()));
            });

            module2.ExecuteAsync(null, null)
            .ReturnsForAnyArgs(
                info =>
            {
                calledModules.Add(module2);
                return(info.Arg <Func <IRequestContext, Task <ClusterResult> > >()(info.Arg <IRequestContext>()));
            });

            module3.ExecuteAsync(null, null)
            .ReturnsForAnyArgs(
                info =>
            {
                calledModules.Add(module3);
                return(info.Arg <Func <IRequestContext, Task <ClusterResult> > >()(info.Arg <IRequestContext>()));
            });

            module4.ExecuteAsync(null, null)
            .ReturnsForAnyArgs(
                _ =>
            {
                calledModules.Add(module4);
                return(Task.FromResult(ClusterResult.UnexpectedException(context.Request)));
            });

            context = Substitute.For <IRequestContext>();
        }
Пример #4
0
        static void Main(string[] args)
        {
            //core = new StreamInsightRequestModule();
            core = new RequestModule();
            var siteRep = ServiceLocator.Current.Resolve <ISiteManagerModule>();
            var site    = siteRep.GetSite("*inetgiant*");
            var user    = ServiceLocator.Current.Resolve <IUserModule>().GetUser("drdoom");

            if (site == null)
            {
                site = new Site {
                    Domain = "*inetgiant*", UserId = user.Id
                };
                siteRep.CreateSite(user, site);
            }
            siteGuid = site.Id;

            _timer = new Timer(CoreTest, null, 0, 1000);

            while (!Console.KeyAvailable)
            {
                Thread.Sleep(1000);
            }
        }
Пример #5
0
        /// <summary>
        /// Adds request modules to be executed when the request for this model will be executed
        /// </summary>
        /// <typeparam name="TModel">Model type</typeparam>
        /// <param name="dataModel">Model instance to operate on</param>
        /// <param name="module">Request module to add</param>
        /// <returns>The passed model instance</returns>
        internal static TModel WithModule <TModel>(this ISupportModules <TModel> dataModel, IRequestModule module)
        {
            var context = (dataModel as IDataModelWithContext).PnPContext;

            if (context.RequestModules == null)
            {
                context.RequestModules = new List <IRequestModule>();
            }

            if (context.RequestModules.FirstOrDefault(p => p.Id == module.Id) == null)
            {
                context.RequestModules.Add(module);
            }

            return((TModel)dataModel);
        }
Пример #6
0
        static void Main(string[] args)
        {
            //core = new StreamInsightRequestModule();
            core = new RequestModule();
            var siteRep = ServiceLocator.Current.Resolve<ISiteManagerModule>();
            var site = siteRep.GetSite("*inetgiant*");
            var user = ServiceLocator.Current.Resolve<IUserModule>().GetUser("drdoom");
            if (site == null)
            {
                site = new Site { Domain = "*inetgiant*", UserId = user.Id };
                siteRep.CreateSite(user, site);
            }
            siteGuid = site.Id;

            _timer = new Timer(CoreTest, null, 0, 1000);

            while (!Console.KeyAvailable)
            {
                Thread.Sleep(1000);
            }
        }
 /// <summary>
 /// Adds given <paramref name="module"/> to configuration's <see cref="IClusterClientConfiguration.Modules"/> list.
 /// </summary>
 public static void AddRequestModule(this IClusterClientConfiguration configuration, IRequestModule module)
 {
     (configuration.Modules ?? (configuration.Modules = new List <IRequestModule>())).Add(module);
 }