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); }
public SegonaClient(ISegonaHandler handler, SegonaBuilderConfiguration configuration) { Handler = handler; ApiKey = configuration.Options.ApiKey; }
public SegonaRestHandler(SegonaBuilderConfiguration configuration, ILoggerFactory loggerFactory) { HttpClient = configuration.HttpClient; ApiUrl = new Uri(configuration.Options.ApiUrl); Logger = loggerFactory.CreateLogger("Segona Rest Handler"); }