Exemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="filePath"></param>
        /// <param name="overwrite"></param>
        public void WriteToFile(FileStream fileStream)
        {
            using (NonClosingStreamWrapper ncsw = new NonClosingStreamWrapper(fileStream))
            {
                foreach (Message message in this.Messages)
                {
                    // Write the request to the file
                    byte[] request = System.Text.Encoding.ASCII.GetBytes(message.Request.ToString());
                    ncsw.Write(request, 0, request.Length);

                    if (message.Response.StatusCode == 0)
                    {
                        continue;
                    }

                    // Write the response to the file
                    string temp = message.Response.GetHeadersAsString(true);
                    temp += Environment.NewLine;
                    byte[] headers = System.Text.Encoding.ASCII.GetBytes(temp);
                    ncsw.Write(headers, 0, headers.Length);

                    if (message.Response.TempFileSize == 0)
                    {
                        continue;
                    }

                    using (FileStream read = System.IO.File.OpenRead(message.Response.TempFile))
                        using (BinaryReader reader = new BinaryReader(read))
                        {
                            byte[] buffer = new Byte[4096];
                            int    bytesRead;

                            // While the read method returns bytes
                            // keep writing them to the output stream
                            while ((bytesRead = reader.Read(buffer, 0, 4096)) > 0)
                            {
                                ncsw.Write(buffer, 0, bytesRead);
                            }
                        }
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="fileStream"></param>
        public void WriteToHtmlFile(FileStream fileStream)
        {
            using (NonClosingStreamWrapper ncsw = new NonClosingStreamWrapper(fileStream))
            {
                Utility.WriteToFileStream(ncsw, Global.HTML_HEADER);

                foreach (Message message in this.Messages)
                {
                    Utility.WriteToFileStream(ncsw, "<font color=\"#006600\" size=\"2\">");

                    string temp     = message.Request.ToString();
                    string tempHtml = HttpUtility.HtmlEncode(temp);
                    tempHtml  = tempHtml.Replace("\r\n", "<br>");
                    tempHtml += @"</font><br>";

                    // Write the request to the file
                    Utility.WriteToFileStream(ncsw, tempHtml);

                    if (message.Response.StatusCode == 0)
                    {
                        continue;
                    }

                    // Write the response to the file
                    Utility.WriteToFileStream(ncsw, "<font color=\"#FF0000\" size=\"2\">");
                    temp  = message.Response.GetHeadersAsString(true);
                    temp += Environment.NewLine;
                    temp  = HttpUtility.HtmlEncode(temp);
                    temp  = temp.Replace("\r\n", "<br>");

                    Utility.WriteToFileStream(ncsw, temp);

                    if (message.Response.TempFileSize == 0)
                    {
                        continue;
                    }

                    using (FileStream read = System.IO.File.OpenRead(message.Response.TempFile))
                    {
                        byte[]   buffer;
                        FileInfo fi = new FileInfo(message.Response.TempFile);
                        if (fi.Length > 5242880)
                        {
                            buffer = new Byte[5242880];
                            int ret = read.Read(buffer, 0, 5242880);
                        }
                        else
                        {
                            buffer = new Byte[fi.Length];
                            int ret = read.Read(buffer, 0, (int)fi.Length);
                        }

                        string sanitised = System.Text.Encoding.ASCII.GetString(buffer);
                        sanitised  = HttpUtility.HtmlEncode(sanitised);
                        sanitised  = sanitised.Replace("\r\n", "<br>");
                        sanitised += "</font>";

                        Utility.WriteToFileStream(ncsw, sanitised);
                    }
                }

                Utility.WriteToFileStream(ncsw, Global.HTML_HEADER);
            }
        }