예제 #1
0
        private static bool MatchByteArray(LimitChecker limitChecker, byte[] content, byte[] pattern, ContentFlags flags)
        {
            if (!limitChecker.CheckAndIncrementContentRestrictionCount(1, content))
            {
                return(false);
            }
            switch (flags & (ContentFlags.SubString | ContentFlags.Prefix))
            {
            case ContentFlags.FullString:
                return(RuleUtil.EqualsByteArray(content, pattern));

            case ContentFlags.SubString:
                return(RuleUtil.Contains(content, pattern));

            case ContentFlags.Prefix:
                return(RuleUtil.IsPrefix(content, pattern));

            default:
                throw new InvalidRuleException(string.Format("Not supported content flags {0}", flags));
            }
        }