/// <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; } }
/// <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); }
/// <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; } }
private async Task SendOmfMessageAsync(OmfMessage omfMessage) { SerializedOmfMessage serializedOmfMessage = OmfMessageSerializer.Serialize(omfMessage); await _deviceOmfIngressService.SendOMFMessageAsync(serializedOmfMessage); }
private async Task SendOmfMessageAsync(OmfMessage omfMessage) { SerializedOmfMessage serializedOmfMessage = OmfMessageSerializer.Serialize(omfMessage); await _deviceOmfIngressService.SendOmfMessageAsync(serializedOmfMessage).ConfigureAwait(false); }