294 references to UriSyntaxFlags
System (294)
net\System\_UriSyntax.cs (179)
67private UriSyntaxFlags m_Flags; 73private volatile UriSyntaxFlags m_UpdatableFlags; 77private const UriSyntaxFlags c_UpdatableFlags = UriSyntaxFlags.UnEscapeDotsAndSlashes; 205internal BuiltInUriParser(string lwrCaseScheme, int defaultPort, UriSyntaxFlags syntaxFlags) 206: base ((syntaxFlags | UriSyntaxFlags.SimpleUserSyntax | UriSyntaxFlags.BuiltInSyntax)) 213internal UriSyntaxFlags Flags { 219internal bool NotAny(UriSyntaxFlags flags) 222return IsFullMatch(flags, UriSyntaxFlags.None); 225internal bool InFact(UriSyntaxFlags flags) 228return !IsFullMatch(flags, UriSyntaxFlags.None); 231internal bool IsAllSet(UriSyntaxFlags flags) 237private bool IsFullMatch(UriSyntaxFlags flags, UriSyntaxFlags expected) 245UriSyntaxFlags mergedFlags; 264internal UriParser(UriSyntaxFlags flags) 277syntax.m_Flags &= ~UriSyntaxFlags.V1_UnknownUri; 339return InFact(UriSyntaxFlags.SimpleUserSyntax); 358m_Flags |= UriSyntaxFlags.SimpleUserSyntax; 366internal void SetUpdatableFlags(UriSyntaxFlags flags) { 426private const UriSyntaxFlags UnknownV1SyntaxFlags = 427UriSyntaxFlags.V1_UnknownUri | // This flag must be always set here 428UriSyntaxFlags.OptionalAuthority | 430UriSyntaxFlags.MayHaveUserInfo | 431UriSyntaxFlags.MayHavePort | 432UriSyntaxFlags.MayHavePath | 433UriSyntaxFlags.MayHaveQuery | 434UriSyntaxFlags.MayHaveFragment | 436UriSyntaxFlags.AllowEmptyHost | 437UriSyntaxFlags.AllowUncHost | // 438UriSyntaxFlags.AllowAnInternetHost | 441UriSyntaxFlags.PathIsRooted | 442UriSyntaxFlags.AllowDOSPath | // 443UriSyntaxFlags.ConvertPathSlashes | // V1 compat, it will always convert backslashes 444UriSyntaxFlags.CompressPath | // V1 compat, it will always compress path even for non hierarchical Uris 445UriSyntaxFlags.AllowIdn | 446UriSyntaxFlags.AllowIriParsing; 448private static readonly UriSyntaxFlags HttpSyntaxFlags = 449UriSyntaxFlags.MustHaveAuthority | 451UriSyntaxFlags.MayHaveUserInfo | 452UriSyntaxFlags.MayHavePort | 453UriSyntaxFlags.MayHavePath | 454UriSyntaxFlags.MayHaveQuery | 455UriSyntaxFlags.MayHaveFragment | 457UriSyntaxFlags.AllowUncHost | // 458UriSyntaxFlags.AllowAnInternetHost | 460UriSyntaxFlags.PathIsRooted | 462UriSyntaxFlags.ConvertPathSlashes | 463UriSyntaxFlags.CompressPath | 464UriSyntaxFlags.CanonicalizeAsFilePath | 466? UriSyntaxFlags.UnEscapeDotsAndSlashes : UriSyntaxFlags.None) | 467UriSyntaxFlags.AllowIdn | 468UriSyntaxFlags.AllowIriParsing; 470private const UriSyntaxFlags FtpSyntaxFlags = 471UriSyntaxFlags.MustHaveAuthority | 473UriSyntaxFlags.MayHaveUserInfo | 474UriSyntaxFlags.MayHavePort | 475UriSyntaxFlags.MayHavePath | 476UriSyntaxFlags.MayHaveFragment | 478UriSyntaxFlags.AllowUncHost | // 479UriSyntaxFlags.AllowAnInternetHost | 481UriSyntaxFlags.PathIsRooted | 483UriSyntaxFlags.ConvertPathSlashes | 484UriSyntaxFlags.CompressPath | 485UriSyntaxFlags.CanonicalizeAsFilePath| 486UriSyntaxFlags.AllowIdn | 487UriSyntaxFlags.AllowIriParsing; 489private static readonly UriSyntaxFlags FileSyntaxFlags = 490UriSyntaxFlags.MustHaveAuthority | 492UriSyntaxFlags.AllowEmptyHost | 493UriSyntaxFlags.AllowUncHost | 494UriSyntaxFlags.AllowAnInternetHost | 496UriSyntaxFlags.MayHavePath | 497UriSyntaxFlags.MayHaveFragment | 499? UriSyntaxFlags.None : UriSyntaxFlags.MayHaveQuery) | 501UriSyntaxFlags.FileLikeUri | 503UriSyntaxFlags.PathIsRooted | 504UriSyntaxFlags.AllowDOSPath | 506UriSyntaxFlags.ConvertPathSlashes | 507UriSyntaxFlags.CompressPath | 508UriSyntaxFlags.CanonicalizeAsFilePath | 509UriSyntaxFlags.UnEscapeDotsAndSlashes | 510UriSyntaxFlags.AllowIdn | 511UriSyntaxFlags.AllowIriParsing; 515private const UriSyntaxFlags VsmacrosSyntaxFlags = 516UriSyntaxFlags.MustHaveAuthority | 518UriSyntaxFlags.AllowEmptyHost | 519UriSyntaxFlags.AllowUncHost | 520UriSyntaxFlags.AllowAnInternetHost | 522UriSyntaxFlags.MayHavePath | 523UriSyntaxFlags.MayHaveFragment | 525UriSyntaxFlags.FileLikeUri | 527UriSyntaxFlags.AllowDOSPath | 528UriSyntaxFlags.ConvertPathSlashes | 529UriSyntaxFlags.CompressPath | 530UriSyntaxFlags.CanonicalizeAsFilePath | 531UriSyntaxFlags.UnEscapeDotsAndSlashes | 532UriSyntaxFlags.AllowIdn | 533UriSyntaxFlags.AllowIriParsing; 535private const UriSyntaxFlags GopherSyntaxFlags = 536UriSyntaxFlags.MustHaveAuthority | 538UriSyntaxFlags.MayHaveUserInfo | 539UriSyntaxFlags.MayHavePort | 540UriSyntaxFlags.MayHavePath | 541UriSyntaxFlags.MayHaveFragment | 543UriSyntaxFlags.AllowUncHost | // 544UriSyntaxFlags.AllowAnInternetHost | 546UriSyntaxFlags.PathIsRooted | 547UriSyntaxFlags.AllowIdn | 548UriSyntaxFlags.AllowIriParsing; 553private const UriSyntaxFlags NewsSyntaxFlags = 554UriSyntaxFlags.MayHavePath | 555UriSyntaxFlags.MayHaveFragment | 556UriSyntaxFlags.AllowIriParsing; 558private const UriSyntaxFlags NntpSyntaxFlags = 559UriSyntaxFlags.MustHaveAuthority | 561UriSyntaxFlags.MayHaveUserInfo| 562UriSyntaxFlags.MayHavePort | 563UriSyntaxFlags.MayHavePath | 564UriSyntaxFlags.MayHaveFragment | 566UriSyntaxFlags.AllowUncHost | // 567UriSyntaxFlags.AllowAnInternetHost | 569UriSyntaxFlags.PathIsRooted | 570UriSyntaxFlags.AllowIdn | 571UriSyntaxFlags.AllowIriParsing; 574private const UriSyntaxFlags TelnetSyntaxFlags = 575UriSyntaxFlags.MustHaveAuthority | 577UriSyntaxFlags.MayHaveUserInfo| 578UriSyntaxFlags.MayHavePort | 579UriSyntaxFlags.MayHavePath | 580UriSyntaxFlags.MayHaveFragment | 582UriSyntaxFlags.AllowUncHost | // 583UriSyntaxFlags.AllowAnInternetHost | 585UriSyntaxFlags.PathIsRooted | 586UriSyntaxFlags.AllowIdn | 587UriSyntaxFlags.AllowIriParsing; 590private const UriSyntaxFlags LdapSyntaxFlags = 591UriSyntaxFlags.MustHaveAuthority | 593UriSyntaxFlags.AllowEmptyHost | 594UriSyntaxFlags.AllowUncHost | // 595UriSyntaxFlags.AllowAnInternetHost | 597UriSyntaxFlags.MayHaveUserInfo | 598UriSyntaxFlags.MayHavePort | 599UriSyntaxFlags.MayHavePath | 600UriSyntaxFlags.MayHaveQuery | 601UriSyntaxFlags.MayHaveFragment | 603UriSyntaxFlags.PathIsRooted | 604UriSyntaxFlags.AllowIdn | 605UriSyntaxFlags.AllowIriParsing; 608private const UriSyntaxFlags MailtoSyntaxFlags = 610UriSyntaxFlags.AllowEmptyHost | 611UriSyntaxFlags.AllowUncHost | // 612UriSyntaxFlags.AllowAnInternetHost | 614UriSyntaxFlags.MayHaveUserInfo | 615UriSyntaxFlags.MayHavePort | 616UriSyntaxFlags.MayHavePath | 617UriSyntaxFlags.MayHaveFragment | 618UriSyntaxFlags.MayHaveQuery | //to maintain everett compat 620UriSyntaxFlags.MailToLikeUri | 621UriSyntaxFlags.AllowIdn | 622UriSyntaxFlags.AllowIriParsing; 626private const UriSyntaxFlags NetPipeSyntaxFlags = 627UriSyntaxFlags.MustHaveAuthority | 628UriSyntaxFlags.MayHavePath | 629UriSyntaxFlags.MayHaveQuery | 630UriSyntaxFlags.MayHaveFragment | 631UriSyntaxFlags.AllowAnInternetHost | 632UriSyntaxFlags.PathIsRooted | 633UriSyntaxFlags.ConvertPathSlashes | 634UriSyntaxFlags.CompressPath | 635UriSyntaxFlags.CanonicalizeAsFilePath | 636UriSyntaxFlags.UnEscapeDotsAndSlashes | 637UriSyntaxFlags.AllowIdn | 638UriSyntaxFlags.AllowIriParsing; 641private const UriSyntaxFlags NetTcpSyntaxFlags = NetPipeSyntaxFlags | UriSyntaxFlags.MayHavePort;
net\System\GenericUriParser.cs (32)
90private static UriSyntaxFlags MapGenericParserOptions(GenericUriParserOptions options) 96UriSyntaxFlags flags = DefaultGenericUriParserFlags; 101flags &= ~(UriSyntaxFlags.MayHaveUserInfo | UriSyntaxFlags.MayHavePort | UriSyntaxFlags.AllowUncHost | UriSyntaxFlags.AllowAnInternetHost); 102flags |= UriSyntaxFlags.AllowAnyOtherHost; 107flags |= UriSyntaxFlags.AllowEmptyHost; 112flags &= ~UriSyntaxFlags.MayHaveUserInfo; 117flags &= ~UriSyntaxFlags.MayHavePort; 122flags &= ~UriSyntaxFlags.MayHaveQuery; 127flags &= ~UriSyntaxFlags.MayHaveFragment; 132flags &= ~UriSyntaxFlags.ConvertPathSlashes; 137flags &= ~(UriSyntaxFlags.CompressPath | UriSyntaxFlags.CanonicalizeAsFilePath); 142flags &= ~UriSyntaxFlags.UnEscapeDotsAndSlashes; 147flags |= UriSyntaxFlags.AllowIdn; 152flags |= UriSyntaxFlags.AllowIriParsing; 158private const UriSyntaxFlags DefaultGenericUriParserFlags = 159UriSyntaxFlags.MustHaveAuthority | 161UriSyntaxFlags.MayHaveUserInfo | 162UriSyntaxFlags.MayHavePort | 163UriSyntaxFlags.MayHavePath | 164UriSyntaxFlags.MayHaveQuery | 165UriSyntaxFlags.MayHaveFragment | 167UriSyntaxFlags.AllowUncHost | // 168UriSyntaxFlags.AllowAnInternetHost | 170UriSyntaxFlags.PathIsRooted | 172UriSyntaxFlags.ConvertPathSlashes | 173UriSyntaxFlags.CompressPath | 174UriSyntaxFlags.CanonicalizeAsFilePath | 175UriSyntaxFlags.UnEscapeDotsAndSlashes;
net\System\URI.cs (71)
214return (s_IriParsing && (((syntax != null) && syntax.InFact(UriSyntaxFlags.AllowIriParsing)) || 223get { return ((m_Syntax != null) && ((m_Syntax.Flags & UriSyntaxFlags.AllowIdn) != 0) && 233return ((syntax != null) && ((syntax.Flags & UriSyntaxFlags.AllowIdn) != 0) && 948return syntax.InFact(UriSyntaxFlags.FileLikeUri); 1031parser.SetUpdatableFlags(UriSyntaxFlags.None); 2068if (m_Syntax.IsAllSet(UriSyntaxFlags.AllowEmptyHost | UriSyntaxFlags.AllowDOSPath) 2081if (m_Syntax.InFact(UriSyntaxFlags.FileLikeUri) || i-idx <= 3) { 2093if (m_Syntax.InFact(UriSyntaxFlags.FileLikeUri)) 2101if (m_Syntax.InFact(UriSyntaxFlags.MustHaveAuthority)) { 2114else if (m_Syntax.InFact(UriSyntaxFlags.FileLikeUri) && (i - idx >= 2 && i - idx != 3 && 2140if (m_Syntax.InFact(UriSyntaxFlags.MustHaveAuthority)) { 2155else if (m_Syntax.InFact(UriSyntaxFlags.OptionalAuthority) && (InFact(Flags.AuthorityFound) || 2161else if (m_Syntax.NotAny(UriSyntaxFlags.MailToLikeUri)) { 2172else if (m_Syntax.InFact(UriSyntaxFlags.MustHaveAuthority)) { 2176else if (m_Syntax.NotAny(UriSyntaxFlags.MailToLikeUri)) { 2215m_Syntax.NotAny(UriSyntaxFlags.AllowDOSPath)) { 3255UriSyntaxFlags syntaxFlags = m_Syntax.Flags; // perf 3347if (IsImplicitFile || ((syntaxFlags & (UriSyntaxFlags.MayHaveQuery | UriSyntaxFlags.MayHaveFragment)) == 0)){ 3352(m_Syntax.InFact(UriSyntaxFlags.MayHaveQuery) ? '?' : m_Syntax.InFact(UriSyntaxFlags.MayHaveFragment) ? '#' : c_EOL)); 3379if (IsImplicitFile || ((syntaxFlags & (UriSyntaxFlags.MayHaveQuery | UriSyntaxFlags.MayHaveFragment)) == 0)){ 3383result = CheckCanonical(str, ref idx, length, (((syntaxFlags & UriSyntaxFlags.MayHaveQuery) != 0) 3384? '?' : m_Syntax.InFact(UriSyntaxFlags.MayHaveFragment) ? '#' : c_EOL)); 3398if (((m_Flags & Flags.AuthorityFound) != 0) && ((syntaxFlags & UriSyntaxFlags.PathIsRooted) != 0) 3408(((syntaxFlags & (UriSyntaxFlags.CompressPath | UriSyntaxFlags.ConvertPathSlashes)) != 0) || 3409m_Syntax.InFact(UriSyntaxFlags.UnEscapeDotsAndSlashes)))) 3411if (((result & Check.DotSlashEscaped) != 0) && m_Syntax.InFact(UriSyntaxFlags.UnEscapeDotsAndSlashes)) 3417if (((syntaxFlags & (UriSyntaxFlags.ConvertPathSlashes)) != 0) && (result & Check.BackslashInPath) != 0){ 3422if (((syntaxFlags & (UriSyntaxFlags.CompressPath)) != 0) && ((cF & Flags.E_PathNotCanonical) != 0 || 3475FindEndOfComponent(m_originalUnicodeString, ref origIdx, (ushort)m_originalUnicodeString.Length, ((syntaxFlags &(UriSyntaxFlags.MayHaveFragment)) != 0) ? '#' : c_EOL); 3506result = CheckCanonical(str, ref idx, length, ((syntaxFlags & (UriSyntaxFlags.MayHaveFragment)) != 0) 3917UriSyntaxFlags syntaxFlags = syntax.Flags; 3927if (syntax.InFact(UriSyntaxFlags.AllowEmptyHost)) 3956if ((syntaxFlags & UriSyntaxFlags.MayHaveUserInfo) != 0) 4004bool dnsNotCanonical = ((syntaxFlags & UriSyntaxFlags.SimpleUserSyntax) == 0); 4006if (ch == '[' && syntax.InFact(UriSyntaxFlags.AllowIPv6Host) 4024else if ( ch <= '9' && ch >= '0' && syntax.InFact(UriSyntaxFlags.AllowIPv4Host) && 4025IPv4AddressHelper.IsValid(pString, (int) start, ref end, false, StaticNotAny(flags, Flags.ImplicitFile), syntax.InFact(UriSyntaxFlags.V1_UnknownUri))) 4035else if (((syntaxFlags & UriSyntaxFlags.AllowDnsHost)!= 0) && !iriParsing && 4075else if (((syntaxFlags & UriSyntaxFlags.AllowDnsHost) != 0) 4076&& ((syntax.InFact(UriSyntaxFlags.AllowIriParsing) && hostNotUnicodeNormalized) 4077|| syntax.InFact(UriSyntaxFlags.AllowIdn)) 4085else if ((syntaxFlags & UriSyntaxFlags.AllowUncHost) != 0) 4111if (syntax.InFact(UriSyntaxFlags.V1_UnknownUri)) 4124if (syntax.InFact(UriSyntaxFlags.MayHavePort)) 4143if(syntax.InFact(UriSyntaxFlags.AllowAnyOtherHost) 4144&& syntax.NotAny(UriSyntaxFlags.V1_UnknownUri)) 4159if (syntax.InFact(UriSyntaxFlags.AllowAnyOtherHost)) 4188if(syntax.InFact(UriSyntaxFlags.AllowAnyOtherHost)) 4204if (syntax.InFact(UriSyntaxFlags.V1_UnknownUri)) 4246else if (syntax.InFact(UriSyntaxFlags.MustHaveAuthority) || 4247(syntax.InFact(UriSyntaxFlags.MailToLikeUri) && !UriParser.ShouldUseLegacyV2Quirks)) 4440else if (delim == '?' && c == '#' && (m_Syntax != null && m_Syntax.InFact(UriSyntaxFlags.MayHaveFragment))) 4491else if (delim == '?' && c == '#' && (m_Syntax != null && m_Syntax.InFact(UriSyntaxFlags.MayHaveFragment))) { 4496if (IsImplicitFile || (m_Syntax != null && !m_Syntax.InFact(UriSyntaxFlags.MayHaveQuery) 4509if (IsImplicitFile || (m_Syntax != null && !m_Syntax.InFact(UriSyntaxFlags.MayHaveFragment))) { 4599if (m_Syntax.InFact(UriSyntaxFlags.UnEscapeDotsAndSlashes) && InFact(Flags.PathNotCanonical) 4605m_Syntax.InFact(UriSyntaxFlags.ConvertPathSlashes) ? '\\' : c_DummyChar); 4640if (m_Syntax.InFact(UriSyntaxFlags.UnEscapeDotsAndSlashes) && InFact(Flags.PathNotCanonical) 4646m_Syntax.InFact(UriSyntaxFlags.ConvertPathSlashes) ? '\\' : c_DummyChar); 4679else if (m_Syntax.InFact(UriSyntaxFlags.ConvertPathSlashes) && InFact(Flags.BackslashInPath)) 4816if (ch == '\\' && syntax.InFact(UriSyntaxFlags.ConvertPathSlashes)) { 4857bool skipSegment = syntax.NotAny(UriSyntaxFlags.CanonicalizeAsFilePath) 4938if ((ushort)destLength > start && syntax.InFact(UriSyntaxFlags.CanonicalizeAsFilePath)) 5066bool convBackSlashes = basePart.Syntax.InFact(UriSyntaxFlags.ConvertPathSlashes); 5116c1 = basePart.Syntax.InFact(UriSyntaxFlags.MayHaveQuery)? '?': c_DummyChar; 5120char c2 = (!basePart.IsImplicitFile && basePart.Syntax.InFact(UriSyntaxFlags.MayHaveFragment)) ? '#' :
net\System\uribuilder.cs (3)
416m_schemeDelimiter = syntax.InFact(UriSyntaxFlags.MustHaveAuthority) || 417(m_host.Length != 0 && syntax.NotAny(UriSyntaxFlags.MailToLikeUri) && syntax.InFact(UriSyntaxFlags.OptionalAuthority ))
net\System\UriExt.cs (6)
110m_iriParsing = (s_IriParsing && ((m_Syntax == null) || m_Syntax.InFact(UriSyntaxFlags.AllowIriParsing))); 774if (relativeStr[0] == '#' && !baseUri.IsImplicitFile && baseUri.Syntax.InFact(UriSyntaxFlags.MayHaveFragment)) 782if (relativeStr[0] == '?' && !baseUri.IsImplicitFile && baseUri.Syntax.InFact(UriSyntaxFlags.MayHaveQuery)) 802else if (baseUri.Syntax.InFact(UriSyntaxFlags.AllowDOSPath)) 807prefix = baseUri.Syntax.InFact(UriSyntaxFlags.PathIsRooted) ? ":///" : "://"; 809prefix = baseUri.Syntax.InFact(UriSyntaxFlags.PathIsRooted) ? ":/" : ":";
net\System\UriScheme.cs (3)
50private const UriSyntaxFlags SchemeOnlyFlags = UriSyntaxFlags.MayHavePath; 201return syntax != null && syntax.NotAny(UriSyntaxFlags.V1_UnknownUri);