public void Process(Channel.ITelemetry item)
 {
     lock (this.lockObject)
     {
         this.receivedItems.Add(item);
     }
 }
        /// <summary>
        /// Processes telemetry item.
        /// </summary>
        /// <param name="item">Telemetry item to process.</param>
        public void Process(Channel.ITelemetry item)
        {
            if (HttpContext.Current != null)
            {
                var response = HttpContext.Current.GetResponse();
                if (response != null && response.StatusCode < 400)
                {
                    if (this.IsHandlerToFilter(HttpContext.Current.Handler))
                    {
                        WebEventSource.Log.WebRequestFilteredOutByRequestHandler();
                        return;
                    }
                }
            }

            this.Next.Process(item);
        }
Beispiel #3
0
        /// <summary>
        /// Processes telemetry item.
        /// </summary>
        /// <param name="item">Telemetry item to process.</param>
        public void Process(Channel.ITelemetry item)
        {
            if (HttpContext.Current != null)
            {
                var response = HttpContext.Current.GetResponse();
                if (response != null && response.StatusCode < 400)
                {
                    var  request     = HttpContext.Current.GetRequest();
                    bool filteredOut = false;
                    if (request != null)
                    {
                        if (request.UserAgent == null && this.userAgentsToFilter.Any(t => t == null || t.Value == null))
                        {
                            filteredOut = true;
                        }
                        else if (request.UserAgent == string.Empty && this.userAgentsToFilter.Any(
                                     t => t.Value == string.Empty))
                        {
                            filteredOut = true;
                        }
                        else if (this.IsStringWhiteSpace(request.UserAgent) && this.userAgentsToFilter.Any(
                                     t => t != null && this.IsStringWhiteSpace(t.Value)))
                        {
                            filteredOut = true;
                        }
                        else if (!string.IsNullOrWhiteSpace(request.UserAgent) && this.userAgentsToFilter.Any(
                                     t => t.Value != null && t.Value.ToLowerInvariant().Contains(
                                         request.UserAgent.ToLowerInvariant())))
                        {
                            filteredOut = true;
                        }

                        if (filteredOut)
                        {
                            WebEventSource.Log.WebRequestFilteredOutByUserAgent();
                            return;
                        }
                    }
                }
            }

            this.Next.Process(item);
        }
 public void Process(Channel.ITelemetry item)
 {
     this.processCalls++;
 }