public FeignClientHttpProxy(IFeignOptions feignOptions, IServiceDiscovery serviceDiscovery, ICacheProvider cacheProvider = null, ILoggerFactory loggerFactory = null)
        {
            FeignOptions = feignOptions;
            _globalFeignClientPipeline    = FeignOptions.FeignClientPipeline as GlobalFeignClientPipeline;
            _serviceIdFeignClientPipeline = _globalFeignClientPipeline?.GetServicePipeline(ServiceId);
            _serviceFeignClientPipeline   = _globalFeignClientPipeline?.GetServicePipeline <TService>();
            _logger = loggerFactory?.CreateLogger(typeof(FeignClientHttpProxy <TService>));
            ServiceDiscoveryHttpClientHandler <TService> serviceDiscoveryHttpClientHandler = new ServiceDiscoveryHttpClientHandler <TService>(this, serviceDiscovery, cacheProvider, _logger);

            if (FeignOptions.AutomaticDecompression.HasValue)
            {
                serviceDiscoveryHttpClientHandler.AutomaticDecompression = feignOptions.AutomaticDecompression.Value;
            }
            if (FeignOptions.UseCookies.HasValue)
            {
                serviceDiscoveryHttpClientHandler.UseCookies = FeignOptions.UseCookies.Value;
            }
            //serviceDiscoveryHttpClientHandler.ShouldResolveService = string.IsNullOrWhiteSpace(Url);
            serviceDiscoveryHttpClientHandler.ShouldResolveService = Url == null;
            serviceDiscoveryHttpClientHandler.AllowAutoRedirect    = false;
            HttpClient = new FeignHttpClient(new FeignDelegatingHandler(serviceDiscoveryHttpClientHandler));
            string baseUrl = serviceDiscoveryHttpClientHandler.ShouldResolveService ? ServiceId ?? "" : Url;

            BaseUrl = BuildBaseUrl(baseUrl);

            InitializingEventArgs <TService> initializingEventArgs = new InitializingEventArgs <TService>(this);

            initializingEventArgs.HttpClient = HttpClient;
            OnInitializing(initializingEventArgs);
            HttpClient = initializingEventArgs.HttpClient;
            if (HttpClient == null)
            {
                throw new ArgumentNullException(nameof(HttpClient));
            }
        }
 internal static void OnInitializing(object sender, InitializingEventArgs eventArg)
 {
     try
     {
         Initializing?.Invoke(sender, eventArg);
     }
     catch (Exception exp)
     {
         Logger.Error($"Exception occured in {nameof(OnInitializing)} event handler: {exp}");
     }
 }
        public FeignClientHttpProxy(IFeignOptions feignOptions, IServiceDiscovery serviceDiscovery, ICacheProvider cacheProvider = null, ILoggerFactory loggerFactory = null)
        {
            FeignOptions = feignOptions;
            _globalFeignClientPipeline    = FeignOptions.FeignClientPipeline as GlobalFeignClientPipeline;
            _serviceIdFeignClientPipeline = _globalFeignClientPipeline?.GetServicePipeline(ServiceId);
            _serviceFeignClientPipeline   = _globalFeignClientPipeline?.GetServicePipeline <TService>();
            _logger = loggerFactory?.CreateLogger(typeof(FeignClientHttpProxy <TService>));
            ServiceDiscoveryHttpClientHandler <TService> serviceDiscoveryHttpClientHandler = new ServiceDiscoveryHttpClientHandler <TService>(this, serviceDiscovery, cacheProvider, _logger);

            if (FeignOptions.AutomaticDecompression.HasValue)
            {
                serviceDiscoveryHttpClientHandler.AutomaticDecompression = feignOptions.AutomaticDecompression.Value;
            }
            //serviceDiscoveryHttpClientHandler.ShouldResolveService = string.IsNullOrWhiteSpace(Url);
            serviceDiscoveryHttpClientHandler.ShouldResolveService = Url == null;
            serviceDiscoveryHttpClientHandler.AllowAutoRedirect    = false;
            HttpClient = new FeignHttpClient(new FeignDelegatingHandler(serviceDiscoveryHttpClientHandler));
            string baseUrl = serviceDiscoveryHttpClientHandler.ShouldResolveService ? ServiceId ?? "" : Url;

            if (!baseUrl.StartsWith("http") && baseUrl != "")
            {
                baseUrl = $"http://{baseUrl}";
            }
            if (!string.IsNullOrWhiteSpace(BaseUri))
            {
                if (baseUrl.EndsWith("/"))
                {
                    baseUrl = baseUrl.TrimEnd('/');
                }
                if (BaseUri.StartsWith("/"))
                {
                    baseUrl += BaseUri;
                }
                else
                {
                    baseUrl += "/" + BaseUri;
                }
            }
            if (baseUrl.EndsWith("/"))
            {
                baseUrl = baseUrl.TrimEnd('/');
            }
            BaseUrl = baseUrl;

            InitializingEventArgs <TService> initializingEventArgs = new InitializingEventArgs <TService>(this);

            initializingEventArgs.HttpClient = HttpClient;
            OnInitializing(initializingEventArgs);
            HttpClient = initializingEventArgs.HttpClient;
            if (HttpClient == null)
            {
                throw new ArgumentNullException(nameof(HttpClient));
            }
        }
Esempio n. 4
0
        public FeignClientHttpProxy(IFeignOptions feignOptions, IServiceDiscovery serviceDiscovery, IServiceCacheProvider serviceCacheProvider, ILoggerFactory loggerFactory)
        {
            _feignOptions = feignOptions;
            //_logger = loggerFactory?.CreateLogger(this.GetType());
            _logger = loggerFactory?.CreateLogger(typeof(FeignClientHttpProxy));
            _globalFeignClientPipeline    = _feignOptions?.FeignClientPipeline as GlobalFeignClientPipeline;
            _serviceIdFeignClientPipeline = _globalFeignClientPipeline?.GetServicePipeline(ServiceId);
            ServiceDiscoveryHttpClientHandler serviceDiscoveryHttpClientHandler = new ServiceDiscoveryHttpClientHandler(this, serviceDiscovery, serviceCacheProvider, _logger);

            serviceDiscoveryHttpClientHandler.ShouldResolveService = string.IsNullOrWhiteSpace(Url);
            serviceDiscoveryHttpClientHandler.AllowAutoRedirect    = false;
            HttpClient = new HttpClient(serviceDiscoveryHttpClientHandler);
            string baseUrl = serviceDiscoveryHttpClientHandler.ShouldResolveService ? ServiceId ?? "" : Url;

            if (!baseUrl.StartsWith("http"))
            {
                baseUrl = $"http://{baseUrl}";
            }
            if (!string.IsNullOrWhiteSpace(BaseUri))
            {
                if (baseUrl.EndsWith("/"))
                {
                    baseUrl = baseUrl.TrimEnd('/');
                }
                if (BaseUri.StartsWith("/"))
                {
                    baseUrl += BaseUri;
                }
                else
                {
                    baseUrl += "/" + BaseUri;
                }
            }

            if (baseUrl.EndsWith("/"))
            {
                baseUrl = baseUrl.TrimEnd('/');
            }
            BaseUrl = baseUrl;

            InitializingEventArgs initializingEventArgs = new InitializingEventArgs(this);

            initializingEventArgs.HttpClient = HttpClient;
            OnInitializing(initializingEventArgs);
            HttpClient = initializingEventArgs.HttpClient;
            if (HttpClient == null)
            {
                throw new ArgumentNullException(nameof(HttpClient));
            }
        }
Esempio n. 5
0
        private static IConfiguration Initialize()
        {
            var args = new InitializingEventArgs(Plugin.Config);

            ReportPortalAddin.OnInitializing(typeof(ReportPortalHooks), args);

            var uri     = Plugin.Config.GetValue <string>(ConfigurationPath.ServerUrl);
            var project = Plugin.Config.GetValue <string>(ConfigurationPath.ServerProject);;
            var uuid    = Plugin.Config.GetValue <string>(ConfigurationPath.ServerAuthenticationUuid);;

            if (args.Service != null)
            {
                _service = args.Service as Service;
            }
            else
            {
                _service = new Service(new Uri(uri), project, uuid);
            }

            return(args.Config);
        }
Esempio n. 6
0
 protected internal virtual void OnInitializing(InitializingEventArgs <TService> e)
 {
     _serviceFeignClientPipeline?.OnInitializing(this, e);
     _serviceIdFeignClientPipeline?.OnInitializing(this, e);
     _globalFeignClientPipeline?.OnInitializing(this, e);
 }
 protected internal override void OnInitializing(InitializingEventArgs e)
 {
     _serviceTypeFeignClientPipeline?.OnInitializing(this, e);
     base.OnInitializing(e);
 }