public RemoteReaderService(RemoteReaderServiceOptions options, ILogger <RemoteReaderService> logger)
        {
            this.options = options;
            this.logger  = logger;

            prefixes.AddRange(this.options.Prefixes);
            prefixes.Sort((a, b) => b.Length.CompareTo(a.Length));

            http = new HttpClient();
            http.DefaultRequestHeaders.Add("user-agent", this.options.UserAgent);
        }
Esempio n. 2
0
        public static IServiceCollection AddImageflowRemoteReaderService(this IServiceCollection services,
                                                                         RemoteReaderServiceOptions options)
        {
            services.AddSingleton <IBlobProvider>((container) =>
            {
                var logger = container.GetRequiredService <ILogger <RemoteReaderService> >();
                return(new RemoteReaderService(options, logger));
            });

            return(services);
        }
Esempio n. 3
0
        public RemoteReaderService(RemoteReaderServiceOptions options
                                   , ILogger <RemoteReaderService> logger
                                   , IHttpClientFactory httpFactory
                                   )
        {
            this.options       = options;
            this.logger        = logger;
            this.httpFactory   = httpFactory;
            httpClientSelector = options.HttpClientSelector ?? (_ => "");

            prefixes.AddRange(this.options.Prefixes);
            prefixes.Sort((a, b) => b.Length.CompareTo(a.Length));
        }