protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request,
            CancellationToken cancellationToken)
        {
            var headscopeRequest = new HeadscopeRequest(request);
            var response = await base.SendAsync(request, cancellationToken);
            HttpResponseMessage httpResponseMessage;
            try
            {
                var app = _appKey;
                if (_requestFilter != null)
                    app = _requestFilter(request, response);

                if (string.IsNullOrWhiteSpace(app))
                {
                    httpResponseMessage = response;
                }
                else
                {
                    var data = _addExtraAttributes != null ? new HeadScopeData(_addExtraAttributes(request)) : new HeadScopeData();
                    data.Request = headscopeRequest;
                    data.Response = new HeadscopeResponse(response);

                    ExectaskIgnoringFails(_headscopeClient.SendAsync(new HeadscopePrepare().Update(_appKey, data).BuildRequest()));
                    httpResponseMessage = response;
                }

            }
            catch (Exception)
            {
                httpResponseMessage = response;
                // Swallow all exceptions here, because we don't care if something goes wrong
            }
            return httpResponseMessage;
        }
Exemple #2
0
        protected override async Task <HttpResponseMessage> SendAsync(HttpRequestMessage request,
                                                                      CancellationToken cancellationToken)
        {
            var headscopeRequest = new HeadscopeRequest(request);
            var response         = await base.SendAsync(request, cancellationToken);

            HttpResponseMessage httpResponseMessage;

            try
            {
                var app = _appKey;
                if (_requestFilter != null)
                {
                    app = _requestFilter(request, response);
                }

                if (string.IsNullOrWhiteSpace(app))
                {
                    httpResponseMessage = response;
                }
                else
                {
                    var data = _addExtraAttributes != null ? new HeadScopeData(_addExtraAttributes(request)) : new HeadScopeData();
                    data.Request  = headscopeRequest;
                    data.Response = new HeadscopeResponse(response);

                    ExectaskIgnoringFails(_headscopeClient.SendAsync(new HeadscopePrepare().Update(_appKey, data).BuildRequest()));
                    httpResponseMessage = response;
                }
            }
            catch (Exception)
            {
                httpResponseMessage = response;
                // Swallow all exceptions here, because we don't care if something goes wrong
            }
            return(httpResponseMessage);
        }