Exemplo n.º 1
0
        private static void RegisterGrafanaHttpClient(IServiceCollection collection, DeveloperConfig developerConfig)
        {
            if (developerConfig.Enabled && developerConfig.UseDevHttpClient)
            {
                collection.AddSingleton <IGrafanaHttpClient, DevGrafanaHttpClient>();
                return;
            }

            collection.AddSingleton <IGrafanaHttpClient, GrafanaHttpClient>();
        }
Exemplo n.º 2
0
        private static void RegisterGrafanaUrlBuilder(IServiceCollection collection, DeveloperConfig developerConfig)
        {
            if (developerConfig.Enabled && developerConfig.UseDevGrafanaUrlBuilder)
            {
                collection.AddSingleton <IGrafanaUrlBuilder, DevGrafanaUrlBuilder>();
                return;
            }

            collection.AddSingleton <IGrafanaUrlBuilder, GrafanaUrlBuilder>();
        }
Exemplo n.º 3
0
        private static void RegisterGrafanaCliConfig(
            IServiceCollection collection,
            IConfiguration configuration,
            DeveloperConfig developerConfig)
        {
            var grafanaCliConfig = new GrafanaCliConfig();

            configuration.Bind("GrafanaCli", grafanaCliConfig);
            grafanaCliConfig.DevConfig = developerConfig;

            collection.AddSingleton(grafanaCliConfig);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Get a specific developer by id
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        ///
        // GET: api/developers/5
        public HttpResponseMessage Get(int id)
        {
            DeveloperConfig     devcon   = new DeveloperConfig();
            Developer           develop  = devcon.getDevelopers(id);
            HttpResponseMessage response = null;

            if (develop == null)
            {
                response = new HttpResponseMessage(HttpStatusCode.NotFound);
            }
            else
            {
                response = Request.CreateResponse(HttpStatusCode.OK, develop);
            }

            return(response);
        }
Exemplo n.º 5
0
        private static void SetupDIContainer(DeveloperConfig developerConfig = null)
        {
            var collection = new ServiceCollection();

            if (developerConfig == null)
            {
                developerConfig = new DeveloperConfig();
            }

            var config = new ConfigurationBuilder()
                         .SetBasePath(Directory.GetCurrentDirectory())
                         .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                         .Build();

            collection
            .AddSingleton <IFileAbstraction, FileAbstraction>()
            .AddSingleton <IDirectoryAbstraction, DirectoryAbstraction>()
            .AddSingleton <IEnvironmentAbstraction, EnvironmentAbstraction>()
            .AddSingleton <IFileSystemHelper, FileSystemHelper>()
            .AddSingleton <IPathAbstraction, PathAbstraction>()
            .AddSingleton <IGrafanaClient, GrafanaClient>()
            .AddSingleton <IPathBuilder, PathBuilder>()
            .AddSingleton <IJsonHelper, JsonHelper>()
            .AddSingleton(typeof(ILoggerAdapter <>), typeof(LoggerAdapter <>))
            .AddLogging(loggingBuilder =>
            {
                loggingBuilder.ClearProviders();
                loggingBuilder.SetMinimumLevel(LogLevel.Trace);
                loggingBuilder.AddNLog(config);
            });

            RegisterGrafanaCliConfig(collection, config, developerConfig);
            RegisterGrafanaUrlBuilder(collection, developerConfig);
            RegisterGrafanaHttpClient(collection, developerConfig);

            _provider = collection.BuildServiceProvider();
        }
Exemplo n.º 6
0
 public DeveloperConfigBuilder()
 {
     _config = new DeveloperConfig();
 }