public static ISegonaBuilder AddSegona(this IServiceCollection services, Action <SegonaBuilderConfiguration> configurator = null)
        {
            services.AddSingleton <SegonaClient>();
            var configuration = new SegonaBuilderConfiguration();

            configurator?.Invoke(configuration);
            services.AddSingleton(configuration);

            services.AddLogging();

            var builder = new SegonaBuilder(services);

            builder.SetHandler <SegonaRestHandler>();
            return(builder);
        }
예제 #2
0
 public SegonaClient(ISegonaHandler handler, SegonaBuilderConfiguration configuration)
 {
     Handler = handler;
     ApiKey  = configuration.Options.ApiKey;
 }
예제 #3
0
 public SegonaRestHandler(SegonaBuilderConfiguration configuration, ILoggerFactory loggerFactory)
 {
     HttpClient = configuration.HttpClient;
     ApiUrl     = new Uri(configuration.Options.ApiUrl);
     Logger     = loggerFactory.CreateLogger("Segona Rest Handler");
 }