private string minify(IIncludeTypeSettings settings) { if (Content == "") { return(""); } if (!settings.Minify) { return(Content); } switch (Type) { case IncludeType.Js: var compressor = new JavaScriptCompressor(Content); var jsSettings = (JsTypeElement)settings; var minifiedJs = compressor.Compress(jsSettings.Obfuscate, jsSettings.PreserveSemiColons, jsSettings.DisableOptimizations, settings.LineBreakAt); return(minifiedJs); case IncludeType.Css: var minifiedCss = CssCompressor.Compress(Content, settings.LineBreakAt, ((CssTypeElement)settings).CompressionType); return(minifiedCss); default: throw new ArgumentOutOfRangeException(); } }
public IncludeCombination(IncludeType type, IEnumerable <string> sources, string content, DateTime now, IIncludeTypeSettings settings) { Type = type; Sources = sources; Content = content; LastModifiedAt = now; _minified = minify(settings); _bytes = new Dictionary <ResponseCompression, byte[]> { { ResponseCompression.None, generateResponseBody(ResponseCompression.None) }, { ResponseCompression.Gzip, generateResponseBody(ResponseCompression.Gzip) }, { ResponseCompression.Deflate, generateResponseBody(ResponseCompression.Deflate) } }; }