Example #1
0
        private void DoHaveLeftCompressedContentUntouched(string html, int bufferLength)
        {
            using (var htmlStream = new MemoryStream(Encoding.UTF8.GetBytes(html)))
            using (var compressedHtmlStream = new MemoryStream())
            using (var outputStream = new MemoryStream())
            {
                using (var compresser = new GZipStream(compressedHtmlStream, CompressionMode.Compress, true))
                {
                    htmlStream.CopyTo(compresser);
                }

                compressedHtmlStream.Position = 0;
                
                var preBodyTagFilter = new PreBodyTagFilter("HTML SNIPPET", outputStream, Encoding.UTF8, "REQUEST URL", LoggerMock.Object);

                compressedHtmlStream.Position = 0;
                compressedHtmlStream.CopyTo(preBodyTagFilter, bufferLength);

                preBodyTagFilter.Flush();
                preBodyTagFilter.Position = 0;
                
                //Assert.True(StreamEquals(compressedHtmlStream, outputStream));
            }
        }
        private string ProcessInputByPreBodyTagFilter(string inputToProcess, string htmlSnippet)
        {
            using (var memoryStream = new MemoryStream())
            {
                var preBodyTagFilter = new PreBodyTagFilter(htmlSnippet, memoryStream, Encoding.UTF8, this.loggerMock.Object);

                byte[] buffer = Encoding.UTF8.GetBytes(inputToProcess);
                preBodyTagFilter.Write(buffer, 0, buffer.Length);
                preBodyTagFilter.Flush();
                preBodyTagFilter.Position = 0;

                return Encoding.UTF8.GetString(memoryStream.ToArray());
            }
        }
Example #3
0
        private string ProcessInputByPreBodyTagFilter(string inputToProcess, string htmlSnippet, string requestUrl, int? chunkLastNumberOfCharacters)
        {
            using (var memoryStream = new MemoryStream())
            {
                var preBodyTagFilter = new PreBodyTagFilter(htmlSnippet, memoryStream, Encoding.UTF8, requestUrl, LoggerMock.Object);

                string[] inputsToProcess = { inputToProcess };
                if (chunkLastNumberOfCharacters.HasValue)
                {
                    inputsToProcess = new[] { inputToProcess.Substring(0, inputToProcess.Length - chunkLastNumberOfCharacters.Value), inputToProcess.Substring(inputToProcess.Length - chunkLastNumberOfCharacters.Value) };
                }

                foreach (string inputToProcessChunk in inputsToProcess)
                {
                    byte[] buffer = Encoding.UTF8.GetBytes(inputToProcessChunk);
                    preBodyTagFilter.Write(buffer, 0, buffer.Length);
                }

                preBodyTagFilter.Flush();
                preBodyTagFilter.Position = 0;

                return Encoding.UTF8.GetString(memoryStream.ToArray());
            }
        }