12345678910111213141516171819202122232425262728293031323334353637 |
- using System.IO;
- using System.IO.Compression;
- using System.Net;
- using System.Text;
- namespace FNZCM.ConHost
- {
- internal static class ExtensionMethods
- {
- public static void WriteM3U8Header(this StringBuilder me)
- {
- me.AppendLine("#EXTM3U");
- me.AppendLine("#EXTENC: UTF-8");
- }
- public static void WriteTextUtf8(this HttpListenerContext context, string content, string contentType = Const.TextHtml)
- {
- var bytes = Encoding.UTF8.GetBytes(content);
- context.Response.ContentEncoding = Encoding.UTF8;
- context.Response.ContentType = contentType;
- if (true == context.Request.Headers["Accept-Encoding"]?.Contains("gzip"))
- {
- context.Response.AddHeader("Content-Encoding", "gzip");
- var memoryStream = new MemoryStream(bytes);
- var gZipStream = new GZipStream(context.Response.OutputStream, CompressionMode.Compress, false);
- memoryStream.CopyTo(gZipStream);
- gZipStream.Flush();
- }
- else
- {
- context.Response.OutputStream.Write(bytes);
- }
- }
- }
- }
|