public void ProperlyEncodeTheString(string source, string expected)
        {
            var container = (null as IServiceCollection).Create();
            var target    = new ContentEncoder(container.BuildServiceProvider());

            Assert.Equal(expected, target.UrlEncode(source));
        }
示例#2
0
        public void Encode()
        {
            var encoder = new ContentEncoder();

            Assert.That(encoder.Encode(null), Is.EqualTo(HttpUtility.HtmlEncode(null)));
            Assert.That(encoder.Encode(""), Is.EqualTo(HttpUtility.HtmlEncode("")));
            Assert.That(encoder.Encode("att.asd#qweqwe-12_xx@@@  asdasd </>"), Is.EqualTo(HttpUtility.HtmlEncode("att.asd#qweqwe-12_xx@@@  asdasd </>")));
        }
示例#3
0
        public async Task <RestResponse <TResponse> > PostAsync <TRequest, TResponse>(string route, TRequest body, CancellationToken cancelToken)
        {
            var requestContent = ContentEncoder.Encode(body);
            var rawResponse    = await _client.PostAsync(route, requestContent, cancelToken);

            var response = await ResponseDeserializer.DeserializeAsync <TResponse>(rawResponse);

            return(response);
        }
示例#4
0
        public static IActionResult Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)] HttpRequest req, TraceWriter log)
        {
            log.Info("C# HTTP trigger function processed a request.");

            var x = ContentEncoder.Generate(
                "This is a test, This is a test, This is a test, This is a test, This is a test, This is a test, This is a test, This is a test, This is a test, This is a test, This is a test, This is a test, This is a test, This is a test, This is a test, This is a test, This is a test, This is a test, This is a test, This is a test, This is a test, This is a test, This is a test, This is a test, This is a test, ",
                "C5");

            ;

            return(new OkObjectResult("MOO"));
        }
        /// <summary>
        ///     Decodes the body of a based on the content encoding.
        /// </summary>
        private void DecodeBody()
        {
            var contentEncoding = this.Headers["Content-Encoding"];

            if (contentEncoding != null)
            {
                var encoder = new ContentEncoder(contentEncoding);
                _bodyBuffer = encoder.Decode(_bodyBuffer);
            }
        }
示例#6
0
        public static string GetHigherBodyView(EMailMessage Messsage)
        {
            string messageText;
            string messageTextEncoding;
            string messageTextType;

            if (Messsage.Views != null && Messsage.Views.Length > 0)
            {
                messageText         = Messsage.Views[Messsage.Views.Length - 1].ContentStream;
                messageTextEncoding = Messsage.Views[Messsage.Views.Length - 1].ContentTransferEncoding;
                messageTextType     = Messsage.Views[Messsage.Views.Length - 1].ContentType;
            }
            else
            {
                messageText         = Messsage.Body.ContentStream;
                messageTextEncoding = Messsage.Body.ContentTransferEncoding;
                messageTextType     = Messsage.Body.ContentType;
            }

            if (messageTextEncoding != null)
            {
                byte[] origEncoded;
                switch (messageTextEncoding.ToLower())
                {
                case "quoted-printable":
                    ContentEncoder qpqtDecoder = new ContentEncoder();
                    messageText = qpEncoder.DecodeFromQuotedPrintable(messageText);
                    break;

                case "7bit":
                    origEncoded = Encoding.Convert(Encoding.UTF7, Encoding.Default, Encoding.UTF7.GetBytes(messageText));
                    messageText = Encoding.Default.GetString(origEncoded);
                    break;

                case "8bit":
                    origEncoded = Encoding.Convert(Encoding.UTF8, Encoding.Default, Encoding.UTF8.GetBytes(messageText));
                    messageText = Encoding.Default.GetString(origEncoded);
                    break;

                case "base64":
                    origEncoded = Convert.FromBase64String(messageText);
                    messageText = Encoding.Default.GetString(origEncoded);
                    break;

                default:
                    throw new XEMailMessageHandlerException(messageTextEncoding);
                }
            }
            if (messageTextType != null)
            {
                switch (messageTextType.ToLower())
                {
                case "text/plain":
                case "":
                    messageText = messageText.Replace("\n", "<br>");
                    break;

                case "text/html":
                    break;

                default:
                    break;
                }
            }
            else
            {
                messageText = messageText.Replace("\n", "<br>");
            }
            return(messageText);
        }
示例#7
0
 static XEMailMessagesHandler()
 {
     encoder   = new ContentEncoder();
     qpEncoder = new QuotedPrintableEncoder();
 }