public static ApplicationConfigurationBuilder UseDataServiceResource(this ApplicationConfigurationBuilder appBuilder, string scheme, string domainName) { appBuilder.UseCustomResourceHandler(() => new SchemeConfiguration(scheme, domainName, builder => { builder.ImportDataServiceAssembly(Assembly.GetEntryAssembly()); })); return(appBuilder); }
/// <inheritdoc/> public void Provide(IBindingProviderBuilder builder) { builder.Bind <IEventStore>().To <NullEventStore>().Singleton(); builder.Bind <IEventSourceVersions>().To <NullEventSourceVersions>().Singleton(); builder.Bind <IEventEnvelopes>().To <EventEnvelopes>(); builder.Bind <IEventSequenceNumbers>().To <NullEventSequenceNumbers>(); builder.Bind <IEventProcessors>().To <EventProcessors>(); builder.Bind <IEventProcessorLog>().To <NullEventProcessorLog>(); builder.Bind <IEventProcessorStates>().To <NullEventProcessorStates>(); //builder.Bind<ICanSendCommittedEventStream>().To<NullCommittedEventStreamSender>().Singleton(); var bridge = new CommittedEventStreamBridge(); builder.Bind <ICommittedEventStreamBridge>().To(bridge); builder.Bind <ICanSendCommittedEventStream>().To <Infrastructure.Kafka.BoundedContexts.CommittedEventStreamSender>().Singleton(); var receiver = new CommittedEventStreamReceiver(bridge, new NullLogger()); builder.Bind <ICanReceiveCommittedEventStream>().To(receiver); builder.Bind <ExecutionContextPopulator>().To((ExecutionContext, details) => { }); builder.Bind <ClaimsPrincipal>().To(() => new ClaimsPrincipal(new ClaimsIdentity())); builder.Bind <CultureInfo>().To(() => CultureInfo.InvariantCulture); builder.Bind <ICallContext>().To(new DefaultCallContext()); builder.Bind <ICanResolvePrincipal>().To(new DefaultPrincipalResolver()); builder.Bind <BoundedContext>().To(Globals.BoundedContext); var applicationConfigurationBuilder = new ApplicationConfigurationBuilder("OCFEV") .Application(applicationBuilder => applicationBuilder .PrefixLocationsWith(Globals.BoundedContext) .WithStructureStartingWith <BoundedContext>(_ => _ .Required.WithChild <Feature>(f => f .WithChild <SubFeature>(c => c.Recursive) ) ) ) .StructureMappedTo(_ => _ .Domain("Infrastructure.Events.-^{Feature}.-^{SubFeature}*") .Domain("Domain.-^{Feature}.-^{SubFeature}*") .Domain("Domain.-^{Module}.-^{Feature}.-^{SubFeature}*") .Events("Events.-^{Feature}.-^{SubFeature}*") .Events("Events.-^{Module}.-^{Feature}.-^{SubFeature}*") .Read("Read.-^{Feature}.-^{SubFeature}*") .Read("Read.-^{Module}.-^{Feature}.-^{SubFeature}*") .Frontend("Web.-^{Feature}.-^{SubFeature}*") .Frontend("Web.-^{Module}.-^{Feature}.-^{SubFeature}*") ); (IApplication application, IApplicationStructureMap structureMap)applicationConfiguration = applicationConfigurationBuilder.Build(); builder.Bind <IApplication>().To(applicationConfiguration.application); builder.Bind <IApplicationStructureMap>().To(applicationConfiguration.structureMap); }
/// <summary> /// Start configuration the application /// </summary> /// <param name="configure"><see cref="IConfigure">Configureation</see> to configure</param> /// <param name="name">Name of the application</param> /// <param name="builderCallback">Callback for building</param> /// <returns><see cref="IConfigure">Configuration</see> instance</returns> public static IConfigure Application(this IConfigure configure, ApplicationName name, Func <IApplicationConfigurationBuilder, IApplicationConfigurationBuilder> builderCallback) { IApplicationConfigurationBuilder applicationConfigurationBuilder = new ApplicationConfigurationBuilder(name); applicationConfigurationBuilder = builderCallback(applicationConfigurationBuilder); var application = applicationConfigurationBuilder.Build(); configure.Container.Bind(application); return(configure); }
public IConfiguration StartUp(IServiceCollection collection) { var builder = new ApplicationConfigurationBuilder <ApplicationConfig>(); var appConfig = builder.Build(); collection.AddSingleton <IApplicationConfig>(appConfig); collection.AddSingleton <IAddMe, AddMe>(); collection.AutoRegister(GetType().Assembly).AutoRegister(typeof(IAddMe).Assembly); return(builder.Configuration); }
protected void Application_Start() { ApplicationConfiguration appConfig = new ApplicationConfigurationBuilder() .ComposeForWeb(fileName => fileName.StartsWith("Apistry.Samples")) .RegisterComponent<IManageWebApi>() .With<WebApiManagerBuilder>() .ConfigureForIIS(); Configure.Using(appConfig); AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); }
public void Configure(ApplicationConfigurationBuilder app) { app.ConfigureServices(services => { services.AddCors(options => { options.AddPolicy("DefaultGraphQLCorsPolicy", builder => { builder.AllowAnyHeader() .WithMethods("GET", "POST") .WithOrigins("http://localhost:3000", "https://localhost", "https://accspa"); }); }); services.AddSingleton <IDocumentCache>(services => { return(new MemoryDocumentCache(new MemoryDocumentCacheOptions { // maximum total cached query length of 1,000,000 bytes (assume 10x memory usage // for 10MB maximum memory use by the cache) SizeLimit = 1000000, // no expiration of cached queries (cached queries are only ejected when the cache is full) SlidingExpiration = null, })); }); services.AddSingleton <IDocumentExecuter>(services => { return(new DocumentExecuter( new GraphQLDocumentBuilder(), new DocumentValidator(), new ComplexityAnalyzer(), services.GetRequiredService <IDocumentCache>())); }); services.AddSingleton <ISchema, LitiumSchema>(); services.AddGraphQL(options => { options.EnableMetrics = true; }) .AddErrorInfoProvider(opt => opt.ExposeExceptionStackTrace = true) .AddSystemTextJson() //.AddUserContextBuilder(httpContext => new GraphQLUserContext { User = httpContext.User }) ; }); }
public IConfiguration StartUp(IServiceCollection collection) { Log.Logger = new LoggerConfiguration() .WriteTo.Console(outputTemplate: "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}") .CreateLogger(); var builder = new ApplicationConfigurationBuilder <ApplicationConfig>(); var appConfig = builder.Build(); collection.AddSingleton <IApplicationConfig>(appConfig); collection.AddSecretProvider(appConfig.SecretConfigurations); collection.AddSingleton <ICache>(new WaitToFinishMemoryCache(2, 10)); collection.AutoRegister(GetType().Assembly); return(builder.Configuration); }
public IConfiguration StartUp(IServiceCollection collection) { Log.Information(Banner.Next()); var builder = new ApplicationConfigurationBuilder <ApplicationConfig>(); var appConfig = builder.Build(); collection.AddSingleton <IApplicationConfig>(appConfig); collection.AddDefaultAWSOptions(appConfig.AwsOptions); collection.AddAWSService <IAmazonDynamoDB>(); collection.AddLazyProviderFor <IAmazonDynamoDB>(); collection.AddSecretProvider(appConfig.SecretConfigurations); collection.AddSingleton <ICache>(new WaitToFinishMemoryCache(2, 10)); collection.AutoRegister(GetType().Assembly); return(builder.Configuration); }
/// <summary> /// Configures the specified <paramref name="appBuilder"/> with a new SCIM 2.0-compliant server. /// </summary> /// <param name="appBuilder">The application builder.</param> /// <param name="fileCompositionConstraints">The file composition constraints used to create a /// new <see cref="System.ComponentModel.Composition.Hosting.CompositionContainer"/>. Specify /// multiple <see cref="System.IO.FileInfo"/> predicates to include any assemblies which contain /// SCIM-related extensibility points.</param> /// <param name="configureScimServerAction">The function used to configure the scim server.</param> /// <returns>IAppBuilder.</returns> /// <exception cref="System.ArgumentNullException">appBuilder</exception> public static IAppBuilder UseScimServer( this IAppBuilder appBuilder, IEnumerable <Predicate <FileInfo> > fileCompositionConstraints, Action <ScimServerConfiguration> configureScimServerAction = null) { if (appBuilder == null) { throw new ArgumentNullException("appBuilder"); } var httpRuntimeBin = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "bin"); var executionDirectory = Assembly.GetEntryAssembly() != null ? Path.GetDirectoryName(Assembly.GetEntryAssembly().Location) : Directory.Exists(httpRuntimeBin) ? httpRuntimeBin : AppDomain.CurrentDomain.BaseDirectory; var compositionConstraints = new List <Predicate <FileInfo> > { fileInfo => fileInfo.Name.StartsWith("Owin.Scim", StringComparison.OrdinalIgnoreCase) && fileInfo.Extension.Equals(".dll", StringComparison.OrdinalIgnoreCase) }; if (fileCompositionConstraints != null) { compositionConstraints.AddRange(fileCompositionConstraints); } ApplicationConfiguration appConfig = new ApplicationConfigurationBuilder() .ComposeWith(new[] { executionDirectory }, compositionConstraints.ToArray()) .RegisterComponent(() => new ScimApplicationManager(appBuilder, compositionConstraints.Skip(1).ToList(), configureScimServerAction)) .RegisterComponent <IManageCryptography>() .With <CryptographyManagerBuilder>() .SetDefaults <SHA256Cng, HMACSHA256, AesCryptoServiceProvider>() .RegisterComponent <DryIocManager>() .With <DryIocManagerBuilder>() .RegisterComponent <IManageEvents>() .With <ScimEventManagerBuilder>(); Configure.Using(appConfig); return(appBuilder); }
/// <summary> /// Initializes a new instance of the <see cref="ApplicationComponentConfigurationBuilderBase" /> class. /// </summary> /// <param name="applicationConfigurationBuilder">The application configuration.</param> public LogManagerBuilder(ApplicationConfigurationBuilder applicationConfigurationBuilder) : base(applicationConfigurationBuilder) { _LogTargets = new HashSet <Lazy <ILogTarget> >(); }
/// <summary> /// Initializes a new instance of the <see cref="ApplicationComponentConfigurationBuilderBase"/> class. /// </summary> /// <param name="applicationConfigurationBuilder">The application configuration.</param> /// <remarks></remarks> public DryIocManagerBuilder(ApplicationConfigurationBuilder applicationConfigurationBuilder) : base(applicationConfigurationBuilder) { _ContainerFactory = appConfig => appConfig.GetComponent<ScimApplicationManager>().Container; }
public static ApplicationConfigurationBuilder UseZippedResource(this ApplicationConfigurationBuilder @this, string scheme, string domainName, string zipFilePath) { @this.UseCustomResourceHandler(() => new SchemeConfiguration(scheme, domainName, zipFilePath)); return(@this); }
public CompositionContainerRegistryBuilder(ApplicationConfigurationBuilder applicationConfigurationBuilder) : base(applicationConfigurationBuilder) { }
/// <summary> /// Initializes a new instance of the <see cref="UnityManagerBuilder"/> class. /// </summary> /// <param name="applicationConfigurationBuilder">The application configuration.</param> /// <remarks></remarks> public UnityManagerBuilder(ApplicationConfigurationBuilder applicationConfigurationBuilder) : base(applicationConfigurationBuilder) { }
public static ApplicationConfigurationBuilder UseEmbeddedFileResource(this ApplicationConfigurationBuilder appBuilder, string scheme, string domainName, Func <string, string> onFallback = null) { UseEmbeddedFileResource(appBuilder, scheme, domainName, Assembly.GetEntryAssembly(), null, onFallback); return(appBuilder); }
/// <summary> /// Initializes a new instance of the <see cref="CryptographyManagerBuilder"/> class. /// </summary> /// <param name="applicationConfigurationBuilder">The application configuration.</param> /// <remarks></remarks> public CryptographyManagerBuilder(ApplicationConfigurationBuilder applicationConfigurationBuilder) : base(applicationConfigurationBuilder) { }
public static ApplicationConfigurationBuilder UseZippedResource(this ApplicationConfigurationBuilder @this, string scheme, string domainName, Func <Stream> zipFileStream, Func <string, string> onFallback = null) { @this.UseCustomResourceHandler(() => new SchemeConfiguration(scheme, domainName, zipFileStream, onFallback)); return(@this); }
/// <summary> /// Initializes a new instance of the <see cref="ApplicationComponentConfigurationBuilderBase" /> class. /// </summary> /// <param name="applicationConfigurationBuilder">The application configuration.</param> public ValueInjecterManagerBuilder(ApplicationConfigurationBuilder applicationConfigurationBuilder) : base(applicationConfigurationBuilder) { _Conventions = new HashSet <Func <IValueInjection> >(); }
public ScimEventManagerBuilder(ApplicationConfigurationBuilder applicationConfigurationBuilder) : base(applicationConfigurationBuilder) { }
/// <summary> /// Initializes a new instance of the <see cref="CacheManagerBuilder"/> class. /// </summary> /// <param name="applicationConfigurationBuilder">The application configuration.</param> /// <remarks></remarks> public CacheManagerBuilder(ApplicationConfigurationBuilder applicationConfigurationBuilder) : base(applicationConfigurationBuilder) { _Providers = new Dictionary <String, Func <ObjectCache> >(); }
/// <summary> /// Initializes a new instance of the <see cref="SecurityManagerBuilder"/> class. /// </summary> /// <param name="applicationConfigurationBuilder">The application configuration.</param> /// <remarks></remarks> public SecurityManagerBuilder(ApplicationConfigurationBuilder applicationConfigurationBuilder) : base(applicationConfigurationBuilder) { _SecurityTokenExpirationPolicy = new SecurityTokenExpirationPolicy(); }
/// <summary> /// Initializes a new instance of the <see cref="ApplicationComponentConfigurationBuilderBase"/> class. /// </summary> /// <param name="applicationConfigurationBuilder">The application configuration.</param> /// <remarks></remarks> public WebApiManagerBuilder(ApplicationConfigurationBuilder applicationConfigurationBuilder) : base(applicationConfigurationBuilder) { }
/// <summary> /// Initializes a new instance of the <see cref="ApplicationComponentConfigurationBuilderBase"/> class. /// </summary> /// <param name="applicationConfigurationBuilder">The application configuration.</param> /// <remarks></remarks> public NinjectManagerBuilder(ApplicationConfigurationBuilder applicationConfigurationBuilder) : base(applicationConfigurationBuilder) { _KernelFactory = () => new StandardKernel(); }
public static ApplicationConfigurationBuilder UseEmbeddedFileResource(this ApplicationConfigurationBuilder appBuilder, string scheme, string domainName, Assembly resourceAssembly, string resourceFileRootPath = null) { appBuilder.UseCustomResourceHandler(() => new SchemeConfiguration(resourceAssembly, scheme, domainName, resourceFileRootPath)); return(appBuilder); }
/// <summary> /// Configures the specified <paramref name="appBuilder"/> with a new SCIM 2.0-compliant server. /// </summary> /// <param name="appBuilder">The application builder.</param> /// <param name="fileCompositionConstraints">The file composition constraints used to create a /// new <see cref="System.ComponentModel.Composition.Hosting.CompositionContainer"/>. Specify /// multiple <see cref="System.IO.FileInfo"/> predicates to include any assemblies which contain /// SCIM-related extensibility points.</param> /// <param name="configureScimServerAction">The function used to configure the scim server.</param> /// <returns>IAppBuilder.</returns> /// <exception cref="System.ArgumentNullException">appBuilder</exception> public static IAppBuilder UseScimServer( this IAppBuilder appBuilder, IEnumerable<Predicate<FileInfo>> fileCompositionConstraints, Action<ScimServerConfiguration> configureScimServerAction = null) { if (appBuilder == null) throw new ArgumentNullException("appBuilder"); var httpRuntimeBin = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "bin"); var executionDirectory = Assembly.GetEntryAssembly() != null ? Path.GetDirectoryName(Assembly.GetEntryAssembly().Location) : Directory.Exists(httpRuntimeBin) ? httpRuntimeBin : AppDomain.CurrentDomain.BaseDirectory; var compositionConstraints = new List<Predicate<FileInfo>> { fileInfo => fileInfo.Name.StartsWith("Owin.Scim", StringComparison.OrdinalIgnoreCase) && fileInfo.Extension.Equals(".dll", StringComparison.OrdinalIgnoreCase) }; if (fileCompositionConstraints != null) compositionConstraints.AddRange(fileCompositionConstraints); ApplicationConfiguration appConfig = new ApplicationConfigurationBuilder() .ComposeWith(new[] { executionDirectory }, compositionConstraints.ToArray()) .RegisterComponent(() => new ScimApplicationManager(appBuilder, compositionConstraints.Skip(1).ToList(), configureScimServerAction)) .RegisterComponent<IManageCryptography>() .With<CryptographyManagerBuilder>() .SetDefaults<SHA256Cng, HMACSHA256, AesCryptoServiceProvider>() .RegisterComponent<DryIocManager>() .With<DryIocManagerBuilder>() .RegisterComponent<IManageEvents>() .With<ScimEventManagerBuilder>(); Configure.Using(appConfig); return appBuilder; }
public static ApplicationConfigurationBuilder UseEmbeddedFileResource(this ApplicationConfigurationBuilder appBuilder, string scheme, string domainName) { UseEmbeddedFileResource(appBuilder, scheme, domainName, Assembly.GetEntryAssembly()); return(appBuilder); }
public static ApplicationConfigurationBuilder UseLocalFileResource(this ApplicationConfigurationBuilder @this, string scheme, string domainName, string localFileResourceDirectory, Func <string, string> onFallback = null) { @this.UseCustomResourceHandler(() => new SchemeConfiguration(scheme, domainName, localFileResourceDirectory, onFallback)); return(@this); }
/// <inheritdoc/> public void Provide(IBindingProviderBuilder builder) { builder.Bind <IEventStore>().To <NullEventStore>().Singleton(); builder.Bind <IEventSourceVersions>().To <NullEventSourceVersions>().Singleton(); builder.Bind <IEventEnvelopes>().To <EventEnvelopes>(); builder.Bind <IEventSequenceNumbers>().To <NullEventSequenceNumbers>(); builder.Bind <IEventProcessors>().To <EventProcessors>(); builder.Bind <IEventProcessorLog>().To <NullEventProcessorLog>(); builder.Bind <IEventProcessorStates>().To <NullEventProcessorStates>(); //builder.Bind<ICanSendCommittedEventStream>().To<NullCommittedEventStreamSender>().Singleton(); var bridge = new CommittedEventStreamBridge(); builder.Bind <ICommittedEventStreamBridge>().To(bridge); builder.Bind <ICanSendCommittedEventStream>().To <Kafka.BoundedContexts.CommittedEventStreamSender>().Singleton(); var receiver = new CommittedEventStreamReceiver(bridge, new NullLogger()); builder.Bind <ICanReceiveCommittedEventStream>().To(receiver); builder.Bind <ExecutionContextPopulator>().To((ExecutionContext, details) => { }); builder.Bind <ClaimsPrincipal>().To(() => new ClaimsPrincipal(new ClaimsIdentity())); builder.Bind <CultureInfo>().To(() => CultureInfo.InvariantCulture); builder.Bind <ICallContext>().To(new DefaultCallContext()); builder.Bind <ICanResolvePrincipal>().To(new DefaultPrincipalResolver()); builder.Bind <BoundedContext>().To(Globals.BoundedContext); var applicationConfigurationBuilder = new ApplicationConfigurationBuilder("CBS") .Application(applicationBuilder => applicationBuilder .PrefixLocationsWith(Globals.BoundedContext) .WithStructureStartingWith <BoundedContext>(_ => _.Required .WithChild <Module>(m => m.Required .WithChild <Feature>(f => f .WithChild <SubFeature>(c => c.Recursive) ) ) ) ) .StructureMappedTo(_ => _ .Include("Infrastructure.^Events.^{Module}.-^{Feature}.-^{SubFeature}*") .Include("Domain.^{Module}.-^{Feature}.-^{SubFeature}*") .Include("Events.^{Module}.-^{Feature}.-^{SubFeature}*") .Include("Read.^{Module}.-^{Feature}.-^{SubFeature}*") .Include("Web.^{Module}.-^{Feature}.-^{SubFeature}*") ); (IApplication application, IApplicationStructureMap structureMap)applicationConfiguration = applicationConfigurationBuilder.Build(); builder.Bind <IApplication>().To(applicationConfiguration.application); builder.Bind <IApplicationStructureMap>().To(applicationConfiguration.structureMap); builder.Bind <Dolittle.ReadModels.MongoDB.Configuration>().To(new Dolittle.ReadModels.MongoDB.Configuration { Url = "mongodb://localhost:27017", UseSSL = false, DefaultDatabase = "Demo" }); builder.Bind(typeof(IReadModelRepositoryFor <>)).To(typeof(ReadModelRepositoryFor <>)); builder.Bind(typeof(IApplicationArtifacts)).To(typeof(ApplicationArtifacts)); builder.Bind(typeof(ICommandHandlerInvoker)).To(typeof(CommandHandlerInvoker)); }
/// <summary> /// Initializes a new instance of the <see cref="ApplicationComponentConfigurationBuilderBase" /> class. /// </summary> /// <param name="applicationConfigurationBuilder">The application configuration.</param> public LogManagerBuilder(ApplicationConfigurationBuilder applicationConfigurationBuilder) : base(applicationConfigurationBuilder) { _LogTargets = new HashSet<Lazy<ILogTarget>>(); }
/// <summary> /// Initializes a new instance of the <see cref="ApplicationComponentConfigurationBuilderBase"/> class. /// </summary> /// <param name="applicationConfigurationBuilder">The application configuration.</param> /// <remarks></remarks> public DryIocManagerBuilder(ApplicationConfigurationBuilder applicationConfigurationBuilder) : base(applicationConfigurationBuilder) { _ContainerFactory = appConfig => appConfig.GetComponent <ScimApplicationManager>().Container; }
public static ApplicationConfigurationBuilder UseDataServiceResource(this ApplicationConfigurationBuilder appBuilder, string scheme, string domainName, Action <DataServiceProvider> buildDataService = null) { appBuilder.UseCustomResourceHandler(() => new SchemeConfiguration(scheme, domainName, buildDataService)); return(appBuilder); }