private static string ToRelativeString(string path, ParametersCollection query = null, string fragment = null) { if (path.Length == 0) { path = "/"; } return(String.Format( "{0}{1}{2}", path, (query != null ? String.Format("?{0}", query.ToString(HttpUrlParser.PathAllowedChars)) : String.Empty), (fragment != null ? String.Format("#{0}", UrlParser.ToSafeString(fragment, HttpUrlParser.PathAllowedChars)) : String.Empty))); }
private static string ToAbsoluteString(string scheme, string host, ushort port, string path = null, ParametersCollection query = null, string fragment = null) { string portString = (((scheme == HttpUrlParser.Https) && (port == HttpUrlParser.HttpsPort)) || (port == HttpUrlParser.HttpPort) ? String.Empty : ":" + port); if (path == null) { return(String.Format("{0}://{1}{2}/", scheme, host, portString)); } return(String.Format( "{0}://{1}{2}/{3}{4}{5}", scheme, host, portString, path, (query != null ? String.Format("?{0}", query.ToString(HttpUrlParser.PathAllowedChars)) : String.Empty), (fragment != null ? String.Format("#{0}", UrlParser.ToSafeString(fragment, HttpUrlParser.PathAllowedChars)) : String.Empty))); }
private static string ToAbsoluteString(string scheme, string userName, string password, string host, uint port, string path = null, ParametersCollection parameters = null) { string portString = ((scheme == FtpUrlParser.Ssh) && (port == FtpUrlParser.SshPort)) || ((scheme == FtpUrlParser.Ftps) && (port == FtpUrlParser.FtpsPort)) || (port == FtpUrlParser.FtpPort) ? String.Empty : ":" + port; string passwordString = (!String.IsNullOrEmpty(password) ? String.Format(":{0}@", password) : (!String.IsNullOrEmpty(userName) ? "@" : String.Empty)); if (path == null) { return(String.Format("{0}://{1}{2}{3}{4}/", scheme, userName, passwordString, host, portString)); } return(String.Format( "{0}://{1}{2}{3}{4}/{5}{6}", scheme, userName, (!String.IsNullOrEmpty(password) ? String.Format(":{0}@", password) : (!String.IsNullOrEmpty(userName) ? "@" : String.Empty)), host, portString, path, (parameters != null ? String.Format(";{0}", parameters.ToString(FtpUrlParser.PathAllowedChars)) : String.Empty))); }