ActiveUp.Net.Mail.Parser.GetContentDisposition C# (CSharp) Method

GetContentDisposition() private static method

private static GetContentDisposition ( string input ) : ActiveUp.Net.Mail.ContentDisposition
input string
return ActiveUp.Net.Mail.ContentDisposition
        private static ContentDisposition GetContentDisposition(string input)
        {
            ContentDisposition field = new ContentDisposition();
            field.Disposition = Regex.Match(input, @"(?<=: ?)\S+?(?=([;\s]|\Z))").Value;
            System.Text.RegularExpressions.Match parammatch = System.Text.RegularExpressions.Regex.Match(input, @"(?<=;[ \t]?)[^;]*=[^;]*(?=(;|\Z))");
            for (; parammatch.Success; parammatch = parammatch.NextMatch()) field.Parameters.Add(FormatFieldName(parammatch.Value.Substring(0, parammatch.Value.IndexOf('='))), parammatch.Value.Substring(parammatch.Value.IndexOf('=') + 1).Replace("\"", "").Trim('\r', '\n'));
            return field;
        }
		private static void ParseHeaderv1(ref Headerv1 header)

Usage Example

Esempio n. 1
0
        /// <summary>
        /// Parses the header.
        /// </summary>
        /// <param name="header">The header.</param>
        public static void ParseHeader(ref Header header)
        {
#if !PocketPC
            string hdr = System.Text.Encoding.GetEncoding("iso-8859-1").GetString(header.OriginalData, 0, header.OriginalData.Length);
#else
            string hdr = Pop3Client.PPCEncode.GetString(header.OriginalData, 0, header.OriginalData.Length);
#endif
            hdr = System.Text.RegularExpressions.Regex.Match(hdr, @"[\s\S]+?((?=\r?\n\r?\n)|\Z)").Value;
            hdr = Parser.Unfold(hdr);
            //hdr = hdr);
            System.Text.RegularExpressions.Match m = System.Text.RegularExpressions.Regex.Match(hdr, @"(?<=((\r?\n)|\n)|\A)\S+:(.|(\r?\n[\t ]))+(?=((\r?\n)\S)|\Z)");
            while (m.Success)
            {
                string name  = FormatFieldName(m.Value.Substring(0, m.Value.IndexOf(':')));
                string value = Codec.RFC2047Decode(m.Value.Substring(m.Value.IndexOf(":") + 1)).Trim('\r', '\n').TrimStart(' ');
                if (name.Equals("received"))
                {
                    header.Trace.Add(Parser.ParseTrace(m.Value.Trim(' ')));
                }
                else if (name.Equals("to"))
                {
                    header.To = Parser.ParseAddresses(value);
                }
                else if (name.Equals("cc"))
                {
                    header.Cc = Parser.ParseAddresses(value);
                }
                else if (name.Equals("bcc"))
                {
                    header.Bcc = Parser.ParseAddresses(value);
                }
                else if (name.Equals("reply-to"))
                {
                    header.ReplyTo = Parser.ParseAddress(value);
                }
                else if (name.Equals("from"))
                {
                    header.From = Parser.ParseAddress(value);
                }
                else if (name.Equals("sender"))
                {
                    header.Sender = Parser.ParseAddress(value);
                }
                else if (name.Equals("content-type"))
                {
                    header.ContentType = Parser.GetContentType(m.Value);
                }
                else if (name.Equals("content-disposition"))
                {
                    header.ContentDisposition = Parser.GetContentDisposition(m.Value);
                }
                //else
                //{
                header.HeaderFields.Add(name, value);
                header.HeaderFieldNames.Add(name, m.Value.Substring(0, m.Value.IndexOf(':')));
                //}
                m = m.NextMatch();

                if (HeaderFieldParsing != null)
                {
                    HeaderFieldParsing(null, header);
                }
            }
        }
All Usage Examples Of ActiveUp.Net.Mail.Parser::GetContentDisposition