Exemple #1
0
        public static Via Parse(string value)
        {
            var via = new Via();
            var open = value.IndexOf('(');
            if (open != -1)
            {
                var comment = value.Substring(open + 1);
                comment = comment.Substring(0, comment.LastIndexOf(')')).Trim();
                via.Comment = comment;
                value = value.Substring(0, open);
            }
            value = value.Trim();
            var parts = value.Split();

            var slash = parts[0].IndexOf('/');
            if (slash != -1)
            {
                via.ProtocolName = parts[0].Substring(0, slash);
                via.ProtocolVersion = parts[0].Substring(slash + 1);
            }
            else
            {
                via.ProtocolVersion = parts[0];
            }

            if (parts.Length == 1 || parts.Length > 2)
            {
                throw new FormatException(value);
            }

            via.ReceivedBy = Host.Parse(parts[1]);

            return via;
        }
        public static Via Parse(string value)
        {
            var via  = new Via();
            var open = value.IndexOf('(');

            if (open != -1)
            {
                var comment = value.Substring(open + 1);
                comment     = comment.Substring(0, comment.LastIndexOf(')')).Trim();
                via.Comment = comment;
                value       = value.Substring(0, open);
            }
            value = value.Trim();
            var parts = value.Split();

            var slash = parts[0].IndexOf('/');

            if (slash != -1)
            {
                via.ProtocolName    = parts[0].Substring(0, slash);
                via.ProtocolVersion = parts[0].Substring(slash + 1);
            }
            else
            {
                via.ProtocolVersion = parts[0];
            }

            if (parts.Length == 1 || parts.Length > 2)
            {
                throw new FormatException(value);
            }

            via.ReceivedBy = Host.Parse(parts[1]);

            return(via);
        }