Atoms.Web.Module.CachifyModule.CacheFilter.ProcessBuffer C# (CSharp) Метод

ProcessBuffer() защищенный Метод

protected ProcessBuffer ( byte p ) : byte[]
p byte
Результат byte[]
            protected override byte[] ProcessBuffer(byte[] p)
            {
                try{

                    var cachify = context.Request.QueryString["cachify"];
                    if (cachify.EqualsIgnoreCase("no")) {
                        return p;
                    }

                Encoding e = context.Response.ContentEncoding;



                if (context.Response.ContentType.EqualsIgnoreCase("text/html")) {

                    string text = e.GetString(p);
                    HtmlDocument doc = new HtmlDocument();
                    doc.LoadHtml(text);

                    foreach (var item in doc.DocumentNode.Descendants())
                    {
                        ProcessTag(item, "img", "src");
                        ProcessTag(item, "script", "src");
                        ProcessTag(item, "link", "href");
                    }

                    doc.OptionWriteEmptyNodes = true;
                    

                    using (StringWriter ms = new StringWriter()) {
                        doc.Save(ms);
                        p = e.GetBytes(ms.GetStringBuilder().ToString());
                        
                    }

                    
                }

                    

                }catch(Exception ex){
                    return p;
                }
                return p;
            }