Example #1
0
        private static Template GetTemplate(string content)
        {
            const int hashLength = 10;
            string    templateKey;

            if (string.IsNullOrEmpty(content))
            {
                /* [2020-08-01] DJL - Cache the null template specifically, but process other whitespace templates individually
                 * to ensure that the format of the final output is preserved.
                 */
                templateKey = string.Empty;
            }
            else if (content.Length <= hashLength)
            {
                // If the content is less than the size of the MD5 hash,
                // simply use the content as the key to save processing time.
                templateKey = content;
            }
            else
            {
                // Calculate a hash of the content using xxHash.
                templateKey = content.XxHash();
            }

            var template = LavaTemplateCache.Get(templateKey, content).Template as Template;

            // Clear any previous errors from the template.
            template.Errors.Clear();

            return(template);
        }
Example #2
0
        private Template GetTemplate()
        {
            var cacheTemplate = LavaTemplateCache.Get(CacheKey(), GetAttributeValue(AttributeKey.Template));

            LavaHelper.VerifyParseTemplateForCurrentEngine(GetAttributeValue(AttributeKey.Template));

            return(cacheTemplate != null ? cacheTemplate.Template as Template : null);
        }
Example #3
0
        /// <summary>
        /// Looks for a parsed template in cache (if the content is 100 characters or less).
        /// </summary>
        /// <param name="content">The content.</param>
        /// <returns></returns>
        private static Template GetTemplate(string content)
        {
            // Do not cache any content over 100 characters in length
            if (content.Length > 100)
            {
                return(Template.Parse(content));
            }

            // Get template from cache
            var template = LavaTemplateCache.Get(content).Template;

            // Clear any previous errors
            template.Errors.Clear();

            return(template);
        }
Example #4
0
        private Template GetTemplate()
        {
            var cacheTemplate = LavaTemplateCache.Get(TemplateCacheKey, GetAttributeValue(AttributeKey.Template));

            return(cacheTemplate != null ? cacheTemplate.Template : null);
        }
Example #5
0
        private Template GetTemplate()
        {
            var cacheTemplate = LavaTemplateCache.Get(CacheKey(), GetAttributeValue("Template"));

            return(cacheTemplate != null ? cacheTemplate.Template : null);
        }