private static void SendHeadersMessage(Dictionary <string, string> headers, MessageAction action, params string[] description)
        {
            if (sender == null)
            {
                return;
            }

            if (headers == null)
            {
                log.Debug(string.Format("Empty Request Headers for \"{0}\" type of event", action));
                return;
            }

            var message = Create(headers, action, description);

            if (!MessagePolicy.Check(message))
            {
                return;
            }

            sender.Send(message);
        }
        private static void SendInitiatorMessage(FileEntry entry, MessageInitiator initiator, MessageAction action, params string[] description)
        {
            if (sender == null)
            {
                return;
            }

            // do not log actions in users folder
            if (entry == null || entry.RootFolderType == FolderType.USER)
            {
                return;
            }

            var message = Create(initiator.ToString(), action, description);

            if (!MessagePolicy.Check(message))
            {
                return;
            }

            sender.Send(message);
        }
        private static void SendRequestMessage(HttpRequestMessageProperty request, MessageAction action, params string[] description)
        {
            if (sender == null)
            {
                return;
            }

            if (request == null)
            {
                log.Debug(string.Format("Empty Request Message for \"{0}\" type of event", action));
                return;
            }

            var message = Create(request, action, description);

            if (!MessagePolicy.Check(message))
            {
                return;
            }

            sender.Send(message);
        }