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); }