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 #2
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());
            }
        }