public RequestMiddleware(RequestDelegate nextStep, IHttpClientCache httpClientCache,
                          IHttpContextAccessor httpContextAccessor) : base(httpContextAccessor)
 {
     _nextStep           = nextStep;
     _httpRequestHandler = new HttpClientRequestHandler(httpClientCache, GlobalConfig.CircuitBreaker);
     _httpDataRepository = new HttpDataRepository(httpContextAccessor);
 }
Example #2
0
        public void GivenOcelotIsRunningWithFakeHttpClientCache(IHttpClientCache cache)
        {
            _webHostBuilder = new WebHostBuilder();

            _webHostBuilder
            .ConfigureAppConfiguration((hostingContext, config) =>
            {
                config.SetBasePath(hostingContext.HostingEnvironment.ContentRootPath);
                var env = hostingContext.HostingEnvironment;
                config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: false)
                .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: false);
                config.AddJsonFile("ocelot.json", false, false);
                config.AddEnvironmentVariables();
            })
            .ConfigureServices(s =>
            {
                s.AddSingleton <IHttpClientCache>(cache);
                s.AddOcelot();
            })
            .Configure(app =>
            {
                app.UseOcelot().Wait();
            });

            _ocelotServer = new TestServer(_webHostBuilder);

            _ocelotClient = _ocelotServer.CreateClient();
        }
Example #3
0
 public HttpClientHttpRequester(IOcelotLoggerFactory loggerFactory,
                                IHttpClientCache cacheHandlers,
                                IDelegatingHandlerHandlerFactory house)
 {
     _logger        = loggerFactory.CreateLogger <HttpClientHttpRequester>();
     _cacheHandlers = cacheHandlers;
     _factory       = house;
 }
 public HttpDiscoveryClientHttpRequester(IOcelotLoggerFactory loggerFactory,
                                         IHttpClientCache cacheHandlers,
                                         IDelegatingHandlerHandlerHouse house, IDiscoveryClient discoveryClient)
 {
     _logger          = loggerFactory.CreateLogger <HttpClientHttpRequester>();
     _cacheHandlers   = cacheHandlers;
     _house           = house;
     _discoveryClient = discoveryClient;
 }
Example #5
0
 public HttpClientBuilder(
     IDelegatingHandlerHandlerFactory factory,
     IHttpClientCache cacheHandlers,
     IOcelotLogger logger)
 {
     _factory       = factory;
     _cacheHandlers = cacheHandlers;
     _logger        = logger;
 }
 public HttpClientHttpRequester(IOcelotLoggerFactory loggerFactory,
                                IHttpClientCache cacheHandlers,
                                IDelegatingHandlerHandlerFactory factory,
                                IExceptionToErrorMapper mapper)
 {
     _logger        = loggerFactory.CreateLogger <HttpClientHttpRequester>();
     _cacheHandlers = cacheHandlers;
     _factory       = factory;
     _mapper        = mapper;
 }
Example #7
0
 /// <summary>
 /// Creates a SolidHttpClientFactory
 /// </summary>
 /// <param name="events">The events to be triggered when a SolidHttpClient is created</param>
 /// <param name="deserializers">The deserializer provider for SolidHttp</param>
 /// <param name="configuration">The application configuration</param>
 public SolidHttpClientFactory(
     IHttpClientCache cache,
     ISolidHttpEventInvoker events,
     IEnumerable <IDeserializer> deserializers,
     ISolidHttpOptions options, // this is only added so that the ServicePRovider initializes it
     IConfiguration configuration = null)
 {
     _cache         = cache;
     _events        = events;
     _deserializers = deserializers;
     _configuration = configuration;
 }
        public HttpClientBuilder(
            IDelegatingHandlerHandlerFactory factory,
            IHttpClientCache cacheHandlers,
            IOcelotLogger logger)
        {
            _factory       = factory;
            _cacheHandlers = cacheHandlers;
            _logger        = logger;

            // This is hardcoded at the moment but can easily be added to configuration
            // if required by a user request.
            _defaultTimeout = TimeSpan.FromSeconds(90);
        }
 public HttpClientHttpRequester(IHttpClientCache cacheHandlers)
 {
     _cacheHandlers = cacheHandlers;
 }
Example #10
0
 public HttpClientHttpRequester(IOcelotLoggerFactory loggerFactory, IHttpClientCache cacheHandlers)
 {
     _logger        = loggerFactory.CreateLogger <HttpClientHttpRequester>();
     _cacheHandlers = cacheHandlers;
 }
 static WebRequestFactory()
 {
     _clientCache = new MemoryHttpClientCache();
     _requester   = new HttpClientHttpRequester(_clientCache);
 }
Example #12
0
 public HttpClientRequestHandler(IHttpClientCache httpClientCache, CircuitBreakerConfig circuitBreakerConfig)
 {
     _httpClientCache      = httpClientCache;
     _circuitBreakerConfig = circuitBreakerConfig;
 }
Example #13
0
 static FluentHttpRequestTests()
 {
     _cache = new HttpClientCache();
 }