fileStart = UrlUtils.findFirstOf(spec, "/?#", authorityStart, end); authority = spec.substring(authorityStart, fileStart); int userInfoEnd = UrlUtils.findFirstOf(spec, "@", authorityStart, fileStart); int hostStart; if (userInfoEnd != fileStart) { int ipv6End = UrlUtils.findFirstOf(spec, "]", hostStart, fileStart); if (ipv6End != fileStart) { if (UrlUtils.findFirstOf(spec, ":", hostStart, ipv6End) == ipv6End) { throw new IllegalArgumentException("Expected an IPv6 address: " + spec.substring(hostStart, ipv6End + 1)); int hostEnd = UrlUtils.findFirstOf(spec, ":", colonSearchFrom, fileStart); host = spec.substring(hostStart, hostEnd); int portStart = hostEnd + 1; break; case '?': nextPos = UrlUtils.findFirstOf(spec, "#", pos, end); query = spec.substring(pos + 1, nextPos); ref = null; break; default: nextPos = UrlUtils.findFirstOf(spec, "?#", pos, end); path = relativePath(path, spec.substring(pos, nextPos)); query = null;
int fragmentStart = UrlUtils.findFirstOf(uri, "#", 0, uri.length()); if (fragmentStart < uri.length()) { fragment = ALL_LEGAL_ENCODER.validate(uri, fragmentStart + 1, uri.length(), "fragment"); int colon = UrlUtils.findFirstOf(uri, ":", 0, fragmentStart); if (colon < UrlUtils.findFirstOf(uri, "/?#", 0, fragmentStart)) { absolute = true; scheme = validateScheme(uri, colon); if (uri.regionMatches(start, "//", 0, 2)) { int authorityStart = start + 2; fileStart = UrlUtils.findFirstOf(uri, "/?", authorityStart, fragmentStart); if (authorityStart == uri.length()) { throw new URISyntaxException(uri, "Authority expected", uri.length()); int queryStart = UrlUtils.findFirstOf(uri, "?", fileStart, fragmentStart); path = PATH_ENCODER.validate(uri, fileStart, queryStart, "path");
fileStart = UrlUtils.findFirstOf(spec, "/?#", authorityStart, end); authority = spec.substring(authorityStart, fileStart); int userInfoEnd = UrlUtils.findFirstOf(spec, "@", authorityStart, fileStart); int hostStart; if (userInfoEnd != fileStart) { int ipv6End = UrlUtils.findFirstOf(spec, "]", hostStart, fileStart); if (ipv6End != fileStart) { if (UrlUtils.findFirstOf(spec, ":", hostStart, ipv6End) == ipv6End) { throw new IllegalArgumentException("Expected an IPv6 address: " + spec.substring(hostStart, ipv6End + 1)); int hostEnd = UrlUtils.findFirstOf(spec, ":", colonSearchFrom, fileStart); host = spec.substring(hostStart, hostEnd); int portStart = hostEnd + 1; break; case '?': nextPos = UrlUtils.findFirstOf(spec, "#", pos, end); query = spec.substring(pos + 1, nextPos); ref = null; break; default: nextPos = UrlUtils.findFirstOf(spec, "?#", pos, end); path = relativePath(path, spec.substring(pos, nextPos)); query = null;
fileStart = UrlUtils.findFirstOf(spec, "/?#", authorityStart, end); authority = spec.substring(authorityStart, fileStart); int userInfoEnd = UrlUtils.findFirstOf(spec, "@", authorityStart, fileStart); int hostStart; if (userInfoEnd != fileStart) { int ipv6End = UrlUtils.findFirstOf(spec, "]", hostStart, fileStart); if (ipv6End != fileStart) { if (UrlUtils.findFirstOf(spec, ":", hostStart, ipv6End) == ipv6End) { throw new IllegalArgumentException("Expected an IPv6 address: " + spec.substring(hostStart, ipv6End + 1)); int hostEnd = UrlUtils.findFirstOf(spec, ":", colonSearchFrom, fileStart); host = spec.substring(hostStart, hostEnd); int portStart = hostEnd + 1; break; case '?': nextPos = UrlUtils.findFirstOf(spec, "#", pos, end); query = spec.substring(pos + 1, nextPos); ref = null; break; default: nextPos = UrlUtils.findFirstOf(spec, "?#", pos, end); path = relativePath(path, spec.substring(pos, nextPos)); query = null;
fileStart = UrlUtils.findFirstOf(spec, "/?#", authorityStart, end); authority = spec.substring(authorityStart, fileStart); int userInfoEnd = UrlUtils.findFirstOf(spec, "@", authorityStart, fileStart); int hostStart; if (userInfoEnd != fileStart) { int ipv6End = UrlUtils.findFirstOf(spec, "]", hostStart, fileStart); if (ipv6End != fileStart) { if (UrlUtils.findFirstOf(spec, ":", hostStart, ipv6End) == ipv6End) { throw new IllegalArgumentException("Expected an IPv6 address: " + spec.substring(hostStart, ipv6End + 1)); int hostEnd = UrlUtils.findFirstOf(spec, ":", colonSearchFrom, fileStart); host = spec.substring(hostStart, hostEnd); int portStart = hostEnd + 1; break; case '?': nextPos = UrlUtils.findFirstOf(spec, "#", pos, end); query = spec.substring(pos + 1, nextPos); ref = null; break; default: nextPos = UrlUtils.findFirstOf(spec, "?#", pos, end); path = relativePath(path, spec.substring(pos, nextPos)); query = null;
fileStart = UrlUtils.findFirstOf(spec, "/?#", authorityStart, end); authority = spec.substring(authorityStart, fileStart); int userInfoEnd = UrlUtils.findFirstOf(spec, "@", authorityStart, fileStart); int hostStart; if (userInfoEnd != fileStart) { int ipv6End = UrlUtils.findFirstOf(spec, "]", hostStart, fileStart); if (ipv6End != fileStart) { if (UrlUtils.findFirstOf(spec, ":", hostStart, ipv6End) == ipv6End) { throw new IllegalArgumentException("Expected an IPv6 address: " + spec.substring(hostStart, ipv6End + 1)); int hostEnd = UrlUtils.findFirstOf(spec, ":", colonSearchFrom, fileStart); host = spec.substring(hostStart, hostEnd); int portStart = hostEnd + 1; break; case '?': nextPos = UrlUtils.findFirstOf(spec, "#", pos, end); query = spec.substring(pos + 1, nextPos); ref = null; break; default: nextPos = UrlUtils.findFirstOf(spec, "?#", pos, end); path = relativePath(path, spec.substring(pos, nextPos)); query = null;
int fragmentStart = UrlUtils.findFirstOf(uri, "#", 0, uri.length()); if (fragmentStart < uri.length()) { fragment = ALL_LEGAL_ENCODER.validate(uri, fragmentStart + 1, uri.length(), "fragment"); int colon = UrlUtils.findFirstOf(uri, ":", 0, fragmentStart); if (colon < UrlUtils.findFirstOf(uri, "/?#", 0, fragmentStart)) { absolute = true; scheme = validateScheme(uri, colon); if (uri.regionMatches(start, "//", 0, 2)) { int authorityStart = start + 2; fileStart = UrlUtils.findFirstOf(uri, "/?", authorityStart, fragmentStart); if (authorityStart == uri.length()) { throw new URISyntaxException(uri, "Authority expected", uri.length()); int queryStart = UrlUtils.findFirstOf(uri, "?", fileStart, fragmentStart); path = PATH_ENCODER.validate(uri, fileStart, queryStart, "path");
fileStart = UrlUtils.findFirstOf(spec, "/?#", authorityStart, end); authority = spec.substring(authorityStart, fileStart); int userInfoEnd = UrlUtils.findFirstOf(spec, "@", authorityStart, fileStart); int hostStart; if (userInfoEnd != fileStart) { int ipv6End = UrlUtils.findFirstOf(spec, "]", hostStart, fileStart); if (ipv6End != fileStart) { if (UrlUtils.findFirstOf(spec, ":", hostStart, ipv6End) == ipv6End) { throw new IllegalArgumentException("Expected an IPv6 address: " + spec.substring(hostStart, ipv6End + 1)); int hostEnd = UrlUtils.findFirstOf(spec, ":", colonSearchFrom, fileStart); host = spec.substring(hostStart, hostEnd); int portStart = hostEnd + 1; break; case '?': nextPos = UrlUtils.findFirstOf(spec, "#", pos, end); query = spec.substring(pos + 1, nextPos); ref = null; break; default: nextPos = UrlUtils.findFirstOf(spec, "?#", pos, end); path = relativePath(path, spec.substring(pos, nextPos)); query = null;
fileStart = UrlUtils.findFirstOf(spec, "/?#", authorityStart, end); authority = spec.substring(authorityStart, fileStart); int userInfoEnd = UrlUtils.findFirstOf(spec, "@", authorityStart, fileStart); int hostStart; if (userInfoEnd != fileStart) { int ipv6End = UrlUtils.findFirstOf(spec, "]", hostStart, fileStart); if (ipv6End != fileStart) { if (UrlUtils.findFirstOf(spec, ":", hostStart, ipv6End) == ipv6End) { throw new IllegalArgumentException("Expected an IPv6 address: " + spec.substring(hostStart, ipv6End + 1)); int hostEnd = UrlUtils.findFirstOf(spec, ":", colonSearchFrom, fileStart); host = spec.substring(hostStart, hostEnd); int portStart = hostEnd + 1; break; case '?': nextPos = UrlUtils.findFirstOf(spec, "#", pos, end); query = spec.substring(pos + 1, nextPos); ref = null; break; default: nextPos = UrlUtils.findFirstOf(spec, "?#", pos, end); path = relativePath(path, spec.substring(pos, nextPos)); query = null;
int fragmentStart = UrlUtils.findFirstOf(uri, "#", 0, uri.length()); if (fragmentStart < uri.length()) { fragment = ALL_LEGAL_ENCODER.validate(uri, fragmentStart + 1, uri.length(), "fragment"); int colon = UrlUtils.findFirstOf(uri, ":", 0, fragmentStart); if (colon < UrlUtils.findFirstOf(uri, "/?#", 0, fragmentStart)) { absolute = true; scheme = validateScheme(uri, colon); if (uri.regionMatches(start, "//", 0, 2)) { int authorityStart = start + 2; fileStart = UrlUtils.findFirstOf(uri, "/?", authorityStart, fragmentStart); if (authorityStart == uri.length()) { throw new URISyntaxException(uri, "Authority expected", uri.length()); int queryStart = UrlUtils.findFirstOf(uri, "?", fileStart, fragmentStart); path = PATH_ENCODER.validate(uri, fileStart, queryStart, "path");
int fragmentStart = UrlUtils.findFirstOf(uri, "#", 0, uri.length()); if (fragmentStart < uri.length()) { fragment = ALL_LEGAL_ENCODER.validate(uri, fragmentStart + 1, uri.length(), "fragment"); int colon = UrlUtils.findFirstOf(uri, ":", 0, fragmentStart); if (colon < UrlUtils.findFirstOf(uri, "/?#", 0, fragmentStart)) { absolute = true; scheme = validateScheme(uri, colon); if (uri.regionMatches(start, "//", 0, 2)) { int authorityStart = start + 2; fileStart = UrlUtils.findFirstOf(uri, "/?", authorityStart, fragmentStart); if (authorityStart == uri.length()) { throw new URISyntaxException(uri, "Authority expected", uri.length()); int queryStart = UrlUtils.findFirstOf(uri, "?", fileStart, fragmentStart); path = PATH_ENCODER.validate(uri, fileStart, queryStart, "path");
int fragmentStart = UrlUtils.findFirstOf(uri, "#", 0, uri.length()); if (fragmentStart < uri.length()) { fragment = ALL_LEGAL_ENCODER.validate(uri, fragmentStart + 1, uri.length(), "fragment"); int colon = UrlUtils.findFirstOf(uri, ":", 0, fragmentStart); if (colon < UrlUtils.findFirstOf(uri, "/?#", 0, fragmentStart)) { absolute = true; scheme = validateScheme(uri, colon); if (uri.regionMatches(start, "//", 0, 2)) { int authorityStart = start + 2; fileStart = UrlUtils.findFirstOf(uri, "/?", authorityStart, fragmentStart); if (authorityStart == uri.length()) { throw new URISyntaxException(uri, "Authority expected", uri.length()); int queryStart = UrlUtils.findFirstOf(uri, "?", fileStart, fragmentStart); path = PATH_ENCODER.validate(uri, fileStart, queryStart, "path");
int fragmentStart = UrlUtils.findFirstOf(uri, "#", 0, uri.length()); if (fragmentStart < uri.length()) { fragment = ALL_LEGAL_ENCODER.validate(uri, fragmentStart + 1, uri.length(), "fragment"); int colon = UrlUtils.findFirstOf(uri, ":", 0, fragmentStart); if (colon < UrlUtils.findFirstOf(uri, "/?#", 0, fragmentStart)) { absolute = true; scheme = validateScheme(uri, colon); if (uri.regionMatches(start, "//", 0, 2)) { int authorityStart = start + 2; fileStart = UrlUtils.findFirstOf(uri, "/?", authorityStart, fragmentStart); if (authorityStart == uri.length()) { throw new URISyntaxException(uri, "Authority expected", uri.length()); int queryStart = UrlUtils.findFirstOf(uri, "?", fileStart, fragmentStart); path = PATH_ENCODER.validate(uri, fileStart, queryStart, "path");
int fragmentStart = UrlUtils.findFirstOf(uri, "#", 0, uri.length()); if (fragmentStart < uri.length()) { fragment = ALL_LEGAL_ENCODER.validate(uri, fragmentStart + 1, uri.length(), "fragment"); int colon = UrlUtils.findFirstOf(uri, ":", 0, fragmentStart); if (colon < UrlUtils.findFirstOf(uri, "/?#", 0, fragmentStart)) { absolute = true; scheme = validateScheme(uri, colon); if (uri.regionMatches(start, "//", 0, 2)) { int authorityStart = start + 2; fileStart = UrlUtils.findFirstOf(uri, "/?", authorityStart, fragmentStart); if (authorityStart == uri.length()) { throw new URISyntaxException(uri, "Authority expected", uri.length()); int queryStart = UrlUtils.findFirstOf(uri, "?", fileStart, fragmentStart); path = PATH_ENCODER.validate(uri, fileStart, queryStart, "path");