Advertisement
yambroskin

Untitled

Sep 9th, 2021
768
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.13 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Text;
  6. using EleWise.ELMA.ComponentModel;
  7. using EleWise.ELMA.Services;
  8. using RabbitMQ.Client.Events;
  9. using Yambr.ELMA.MessageQueueRMQ.ExtensionPoints;
  10.  
  11. namespace Yambr.ELMA.MessageQueueRMQ.Components
  12. {
  13.     [Component(Order = 0)]
  14.     public class GetModelFromMessageHandler : IModelMessageHandler
  15.     {
  16.         public string GetModelFromMessage(string jsonObject, BasicDeliverEventArgs eventArgs)
  17.         {
  18.             if (eventArgs == null) return null; //throw new ArgumentNullException(nameof(eventArgs));
  19.             var settings = Locator.GetServiceNotNull<MessageQueueRMQSettingsModule>().Settings;
  20.  
  21.             if (eventArgs.BasicProperties.Headers == null || !eventArgs.BasicProperties.Headers.ContainsKey(settings.ModelHeaderKey))
  22.                 return null;
  23.  
  24.             var header = eventArgs.BasicProperties.Headers[settings.ModelHeaderKey] as byte[];
  25.             if (header == null || header.Length == 0)
  26.                 return null;
  27.                
  28.             return Encoding.UTF8.GetString(header);
  29.         }
  30.     }
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement