コード例 #1
0
        /// <summary>
        /// Sends a message to the configured OMF endpoints
        /// </summary>
        /// <param name="omfMessage">The OMF message to send</param>
        internal void SendOmfMessage(OmfMessage omfMessage)
        {
            SerializedOmfMessage serializedOmfMessage = OmfMessageSerializer.Serialize(omfMessage);

            if (AdhHttpClient != null)
            {
                _ = SendOmfMessageAsync(serializedOmfMessage, AdhHttpClient).Result;
            }

            if (EdsHttpClient != null)
            {
                _ = SendOmfMessageAsync(serializedOmfMessage, EdsHttpClient).Result;
            }

            if (PiHttpClient != null)
            {
                _ = SendOmfMessageAsync(serializedOmfMessage, PiHttpClient).Result;
            }
        }
コード例 #2
0
        /// <summary>
        /// Sends an OMF message to an OMF endpoint with optional authentication header
        /// </summary>
        /// <param name="omfMessage">The OMF message to send</param>
        /// <param name="httpClient">HttpClient for the OMF endpoint to send to</param>
        /// <returns>A task returning the response of the HTTP request</returns>
        private static async Task <string> SendOmfMessageAsync(SerializedOmfMessage omfMessage, HttpClient httpClient)
        {
            using HttpRequestMessage request = new ()
                  {
                      Method  = HttpMethod.Post,
                      Content = new ByteArrayContent(omfMessage.BodyBytes),
                  };

            foreach (OmfHeader omfHeader in omfMessage.Headers)
            {
                request.Headers.Add(omfHeader.Name, omfHeader.Value);
            }

            HttpResponseMessage response = await httpClient.SendAsync(request).ConfigureAwait(false);

            string responseString = await response.Content.ReadAsStringAsync().ConfigureAwait(false);

            if (!response.IsSuccessStatusCode)
            {
                throw new Exception($"Error sending OMF to endpoint at {httpClient.BaseAddress}. Response code: {response.StatusCode} Response: {responseString}");
            }
            return(responseString);
        }
コード例 #3
0
        /// <summary>
        /// Deletes type and containers that were created by these services
        /// </summary>
        internal void CleanupOmf()
        {
            SerializedOmfMessage serializedTypeDelete      = OmfMessageSerializer.Serialize(_typeDeleteMessage);
            SerializedOmfMessage serializedContainerDelete = OmfMessageSerializer.Serialize(_containerDeleteMessage);

            if (AdhHttpClient != null)
            {
                _ = SendOmfMessageAsync(serializedContainerDelete, AdhHttpClient).Result;
                _ = SendOmfMessageAsync(serializedTypeDelete, AdhHttpClient).Result;
            }

            if (EdsHttpClient != null)
            {
                _ = SendOmfMessageAsync(serializedContainerDelete, EdsHttpClient).Result;
                _ = SendOmfMessageAsync(serializedTypeDelete, EdsHttpClient).Result;
            }

            if (PiHttpClient != null)
            {
                _ = SendOmfMessageAsync(serializedContainerDelete, PiHttpClient).Result;
                _ = SendOmfMessageAsync(serializedTypeDelete, PiHttpClient).Result;
            }
        }
コード例 #4
0
 private async Task SendOmfMessageAsync(OmfMessage omfMessage)
 {
     SerializedOmfMessage serializedOmfMessage = OmfMessageSerializer.Serialize(omfMessage);
     await _deviceOmfIngressService.SendOMFMessageAsync(serializedOmfMessage);
 }
コード例 #5
0
 private async Task SendOmfMessageAsync(OmfMessage omfMessage)
 {
     SerializedOmfMessage serializedOmfMessage = OmfMessageSerializer.Serialize(omfMessage);
     await _deviceOmfIngressService.SendOmfMessageAsync(serializedOmfMessage).ConfigureAwait(false);
 }