private static void AddConfiguration(ICatalogueScannerHostBuilder builder) { var saleFinderSection = builder.Configuration.GetSection("SaleFinder"); builder.Services .ConfigureOptions <ColesOptions>(saleFinderSection.GetSection(ColesOptions.Coles)) .ConfigureOptions <WoolworthsOptions>(saleFinderSection.GetSection(WoolworthsOptions.Woolworths)); }
private static void AddLocalisation(ICatalogueScannerHostBuilder builder) { builder.Services .AddMemoryCache() .AddPortableObjectLocalization(o => o.ResourcesPath = "Localisation"); builder.Services.TryAddSingleton <ILocalizationFileLocationProvider, FunctionsRootPoFileLocationProvider>(); builder.Services.TryAddTransient(typeof(Core.Localisation.IPluralStringLocalizer <>), typeof(PluralStringLocalizer <>)); }
private static void AddFunctionsPathOptions(ICatalogueScannerHostBuilder builder) { builder.Services.Configure <FunctionsPathOptions>(o => { // https://github.com/Azure/azure-functions-dotnet-extensions/issues/17#issuecomment-499086297 var executionContextOptions = builder.Services.BuildServiceProvider().GetService <IOptionsSnapshot <ExecutionContextOptions> >() !.Value; var appDirectory = executionContextOptions.AppDirectory; o.RootDirectory = appDirectory; }); }
public void Configure(ICatalogueScannerHostBuilder builder) { #region null checks if (builder is null) { throw new ArgumentNullException(nameof(builder)); } #endregion AddLocalisation(builder); }
public void Configure(ICatalogueScannerHostBuilder builder) { #region null checks if (builder is null) { throw new ArgumentNullException(nameof(builder)); } #endregion SetLocalisationCulture(); AddFunctionsPathOptions(builder); AddConfigurationOptions(builder); }
public static ICatalogueScannerHostBuilder AddPlugin <T>(this ICatalogueScannerHostBuilder builder) where T : ICatalogueScannerPlugin, new() { #region null checks if (builder is null) { throw new ArgumentNullException(nameof(builder)); } #endregion new T().Configure(builder); return(builder); }
private void AddConfigurationOptions(ICatalogueScannerHostBuilder builder) { var coreSection = builder.Configuration.GetSection("Core"); var matchingConfig = coreSection.GetSection(MatchingOptions.Matching); builder.Services .ConfigureOptions <MatchingOptions>(matchingConfig) .Configure <MatchingOptions>((options) => { options.Rules.Clear(); options.Rules.AddRange(catalogueItemMatchRuleSerialiser.DeserialiseMatchRules(matchingConfig.GetSection("Rules"))); }) .ConfigureOptions <EmailOptions>(coreSection.GetSection(EmailOptions.Email)); }
public void Configure(ICatalogueScannerHostBuilder builder) { #region null checks if (builder is null) { throw new ArgumentNullException(nameof(builder)); } #endregion builder.Services.AddHttpClient(); builder.Services .AddHttpClient <SaleFinderService>(client => { client.BaseAddress = new Uri("https://embed.salefinder.com.au/"); }) .ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler { AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate, }); AddConfiguration(builder); }