public static void Verify(AuthorizedMessageOperation operation, Type messageType, object message, Dictionary<string, string> headers)
        {
            if (!headers.ContainsKey(Authorizer.AuthenticationTokenKey))
                throw new AuthorizationException(Authorizer.AuthorizationDomain, operation.ToString(), messageType.FullName, AuthorizationError.InvalidAuthenticationToken);

            var authenticationToken = headers[Authorizer.AuthenticationTokenKey];
            Authorizer.Verify(operation.ToString(), messageType.FullName, authenticationToken);
        }
 public InSingleProcessMemoryAuthorizedSubscription(IInSingleProcessMemoryMessageBus messageBus, AuthorizedMessageOperation operation, SubscriptionId subscriptionId, TopicId topicId, Type messageType, string queueName, SubscriptionMode subscriptionMode, bool acceptMessagesOlderThanSubscriptionTime, Action<object> messageHandler, Action<object, object> messageHandlerWithProperties, Action<object, Dictionary<string, string>> messageHandlerWithHeaders, Action<object, object, Dictionary<string, string>> messageHandlerWithPropertiesAndHeaders)
     : base(messageBus, subscriptionId, topicId, messageType, queueName, subscriptionMode, acceptMessagesOlderThanSubscriptionTime, messageHandler, messageHandlerWithProperties, messageHandlerWithHeaders, messageHandlerWithPropertiesAndHeaders)
 {
     Operation = operation;
 }
 internal InSingleProcessMemoryAuthorizedConsumer(InSingleProcessMemorySubscription subscription, AuthorizedMessageOperation operation, IInSingleProcessMemoryMessageBus messageBus)
     : base(subscription, messageBus)
 {
     Operation = operation;
 }
 internal RabbitMQAuthorizedConsumer(RabbitMQSubscription subscription, AuthorizedMessageOperation operation, IRabbitMQMessageBus messageBus)
     : base(subscription, messageBus)
 {
     Operation = operation;
 }