コード例 #1
0
 public void Queue(IndexEventContainerDocument indexEvent)
 {
     if (_canRegister && indexEvent != null)
     {
         IndexEvents.Enqueue(indexEvent);
     }
 }
コード例 #2
0
        public HttpRequestMessage Create(HttpMethod httpMethod, string url,
                                         IndexEventContainerDocument indexEventContract)
        {
            if (httpMethod == null)
            {
                throw new ArgumentNullException(nameof(httpMethod));
            }

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

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

            var httpRequestMessage = new HttpRequestMessage(httpMethod, url)
            {
                Content = new JsonContent(indexEventContract)
            };

            return(httpRequestMessage);
        }
        private void GracefulSaveLog(IndexEventContainerDocument indexEvent)
        {
            var saveTask = ServiceProvider.GetService <WebEventFileSaveTask>();

            if (saveTask != null)
            {
                saveTask.LoadIndexEvent(indexEvent);
                saveTask.SaveLog();
            }
        }
コード例 #4
0
 public void LoadIndexEvent(IndexEventContainerDocument indexEvent)
 {
     if (indexEvent != null)
     {
         WebEvent = indexEvent;
     }
     else
     {
         Status = WebEventSaveTaskStatus.Ignore;
     }
 }
コード例 #5
0
        protected virtual Task <HttpResponseMessage> SendJsonAsync(HttpMethod httpMethod,
                                                                   string url, IndexEventContainerDocument indexEventContract)
        {
            if (string.IsNullOrEmpty(url))
            {
                throw new ArgumentNullException(nameof(url));
            }

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

            var httpRequestMessage = HttpRequestMessageFactory.Create(httpMethod, url, indexEventContract);

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

            return(HttpClient.SendAsync(httpRequestMessage));
        }
コード例 #6
0
        public async Task <HttpCollectorResponseDocument> PostJsonAsync(string url, IndexEventContainerDocument indexEventContract)
        {
            if (string.IsNullOrEmpty(url))
            {
                throw new ArgumentNullException(nameof(url));
            }

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

            using (var httpResponseMessage = await SendJsonAsync(HttpMethod.Post, url, indexEventContract))
            {
                if (httpResponseMessage == null)
                {
                    throw new NullReferenceException(nameof(httpResponseMessage));
                }

                return(await ReadJsonResponseAsync(httpResponseMessage));
            }
        }
コード例 #7
0
 public TrafficCometFailedSaveWebEventException(IndexEventContainerDocument webEvent)
     : base($"Failed to save Web Event in all places")
 {
     WebEvent = webEvent
                ?? throw new ArgumentNullException(nameof(webEvent));
 }