예제 #1
0
        public void Write(WebEventBodyDocument webEventBodyDocument, string applicationId, IndexEventSplunkType indexEventSplunkType)
        {
            if (webEventBodyDocument == null)
            {
                throw new ArgumentNullException(nameof(webEventBodyDocument));
            }

            if (string.IsNullOrEmpty(applicationId))
            {
                throw new ArgumentNullException(nameof(applicationId));
            }

            BackgroundWebEventsQueue.Queue(IndexEventSplunkContractFactory
                                           .Create(webEventBodyDocument, applicationId, indexEventSplunkType));
        }
예제 #2
0
        internal static WebEventBodyDocument AddRequestHeaders <THeaders>(this WebEventBodyDocument webEventDocument,
                                                                          THeaders headers, string[] ignoreHeaders) where THeaders : HttpHeaders
        {
            if (webEventDocument == null)
            {
                throw new ArgumentException(nameof(webEventDocument));
            }

            if (headers != null && headers.Any())
            {
                webEventDocument.CustomParams = headers.Where(x => !ignoreHeaders.Contains(x.Key.ToLowerInvariant()))
                                                .Select(x => new KeyValueDocument
                {
                    Name  = x.Key,
                    Value = x.Value.FirstOrDefault()
                }).ToArray();
            }

            return(webEventDocument);
        }