/// <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); }
/// <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); } }
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>(); }
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 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); }
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); }