14 private string _host =
"localhost";
20 private string _query =
string.Empty;
41 if (
value.Length != 0)
45 int num =
value.IndexOf(
':');
99 if (!
string.IsNullOrEmpty(
value) &&
value.Contains(
':') &&
value[0] !=
'[')
116 if (value < -1 || value > 65535)
148 if (!
string.IsNullOrEmpty(
value) &&
value[0] !=
'?')
166 if (!
string.IsNullOrEmpty(
value) &&
value[0] !=
'#')
215 public UriBuilder(
string? scheme,
string? host,
int portNumber)
221 public UriBuilder(
string? scheme,
string? host,
int port,
string? pathValue)
222 : this(scheme, host, port)
227 public UriBuilder(
string? scheme,
string? host,
int port,
string? path,
string? extraValue)
228 : this(scheme, host, port, path)
230 if (
string.IsNullOrEmpty(extraValue))
234 if (extraValue[0] ==
'#')
240 if (extraValue[0] !=
'?')
244 int num = extraValue.IndexOf(
'#');
251 _query = extraValue.Substring(0, num);
265 public override bool Equals([NotNullWhen(
true)]
object? rparam)
288 if (userInfo.Length > 0)
290 int num = userInfo.IndexOf(
':');
309 Span<char> initialBuffer = stackalloc
char[512];
313 if (scheme.Length != 0)
317 valueStringBuilder.
Append(scheme);
321 if (userName.Length != 0)
323 valueStringBuilder.
Append(userName);
325 if (password.Length != 0)
327 valueStringBuilder.
Append(
':');
328 valueStringBuilder.
Append(password);
330 valueStringBuilder.
Append(
'@');
332 if (host.Length != 0)
334 valueStringBuilder.
Append(host);
337 valueStringBuilder.
Append(
':');
339 bool flag =
_port.TryFormat(valueStringBuilder.
AppendSpan(5), out charsWritten);
340 valueStringBuilder.Length -= 5 - charsWritten;
344 if (path.Length != 0)
346 if (!path.StartsWith(
'/') && host.Length != 0)
348 valueStringBuilder.
Append(
'/');
350 valueStringBuilder.
Append(path);
354 return valueStringBuilder.
ToString();
static string Argument_ExtraNotValid
static string net_uri_BadScheme
static string net_uri_BadUserPassword
UriBuilder(string? scheme, string? host, int port, string? path, string? extraValue)
UriBuilder(string? scheme, string? host, int port, string? pathValue)
override int GetHashCode()
UriBuilder(string? schemeName, string? hostName)
UriBuilder(string? scheme, string? host, int portNumber)
override bool Equals([NotNullWhen(true)] object? rparam)
override string ToString()
bool NotAny(UriSyntaxFlags flags)
bool InFact(UriSyntaxFlags flags)
static UriParser GetSyntax(string lwrCaseScheme)
static bool CheckSchemeName([NotNullWhen(true)] string? schemeName)
static readonly string SchemeDelimiter
static string InternalEscapeString(string rawString)
override bool Equals([NotNullWhen(true)] object? comparand)
static readonly string UriSchemeHttp
override int GetHashCode()
override string ToString()
Span< char > AppendSpan(int length)