public TaggingHttpClientDecorator(
     ISessionIdAccessor sessionIdAccessor,
     ICorrelationIdAccessor correlationIdAccessor,
     IOutboundRequestIdAccessor outboundRequestIdAccessor,
     IGenerateGuids guidGenerator,
     IApplicationInfo applicationInfo)
 {
     _sessionIdAccessor         = sessionIdAccessor;
     _correlationIdAccessor     = correlationIdAccessor;
     _outboundRequestIdAccessor = outboundRequestIdAccessor;
     _guidGenerator             = guidGenerator;
     _applicationInfo           = applicationInfo;
 }
 public IdentifyingHttpClientEventCallback(
     ISessionIdAccessor sessionIdGetter,
     ICorrelationIdAccessor correlationIdGetter,
     IInboundRequestIdAccessor inboundRequestIdGetter,
     IOutboundRequestIdAccessor outboundRequestIdGetter,
     IApplicationInfo applicationInfo)
 {
     _sessionIdAccessor         = sessionIdGetter ?? throw new ArgumentNullException(nameof(sessionIdGetter));
     _correlationIdAccessor     = correlationIdGetter ?? throw new ArgumentNullException(nameof(correlationIdGetter));
     _inboundRequestIdAccessor  = inboundRequestIdGetter ?? throw new ArgumentNullException(nameof(inboundRequestIdGetter));
     _outboundRequestIdAccessor = outboundRequestIdGetter ?? throw new ArgumentNullException(nameof(outboundRequestIdGetter));
     _applicationInfo           = applicationInfo ?? throw new ArgumentNullException(nameof(applicationInfo));
 }
 public static IHttpClient AddTagging(
     this IHttpClient httpClient,
     ISessionIdAccessor sessionIdAccessor,
     ICorrelationIdAccessor correlationIdAccessor,
     IOutboundRequestIdAccessor outboundRequestIdAccessor,
     IGenerateGuids guidGenerator,
     IApplicationInfo applicationInfo)
 {
     return(new TaggingHttpClient(
                httpClient,
                sessionIdAccessor,
                correlationIdAccessor,
                outboundRequestIdAccessor,
                guidGenerator,
                applicationInfo));
 }
Example #4
0
        public TaggingHttpClient(
            IHttpClient httpClient,
            ISessionIdAccessor sessionIdGetter,
            ICorrelationIdAccessor correlationIdGetter,
            IOutboundRequestIdAccessor outboundRequestIdAccessor,
            IGenerateGuids guidGenerator,
            IApplicationInfo applicationInfo)
        {
            _httpClient                = httpClient ?? throw new ArgumentNullException(nameof(httpClient));
            _sessionIdAccessor         = sessionIdGetter ?? throw new ArgumentNullException(nameof(sessionIdGetter));
            _correlationIdAccessor     = correlationIdGetter ?? throw new ArgumentNullException(nameof(correlationIdGetter));
            _outboundRequestIdAccessor = outboundRequestIdAccessor ?? throw new ArgumentNullException(nameof(outboundRequestIdAccessor));
            _guidGenerator             = guidGenerator ?? throw new ArgumentNullException(nameof(guidGenerator));

            if (applicationInfo == null)
            {
                throw new ArgumentNullException(nameof(applicationInfo));
            }

            _userAgent = BuildUserAgent(applicationInfo);
        }
Example #5
0
        public static DisposableHttpClient CreateClientWithTagging(this StubHttpApi api, ISessionIdAccessor sessionIdAccessor, ICorrelationIdAccessor correlationIdAccessor, IOutboundRequestIdAccessor outboundRequestIdAccessor, IGenerateGuids guidGenerator, IApplicationInfo applicationInfo, int timeoutMs = 3000)
        {
            var configuration = new InstrumentingConfiguration {
                Uri = api.BaseUri, TimeoutMs = timeoutMs
            };
            var httpClient = new DefaultHttpClient(configuration);

            return(new DisposableHttpClient(httpClient, httpClient.AddTagging(sessionIdAccessor, correlationIdAccessor, outboundRequestIdAccessor, guidGenerator, applicationInfo)));
        }