• Home
  • Raw
  • Download

Lines Matching +full:ipv4 +full:- +full:single +full:- +full:target

2 #include "base_object-inl.h"
5 #include "util-inl.h"
51 // https://url.spec.whatwg.org/#eof-code-point
52 constexpr char kEOL = -1;
57 // https://url.spec.whatwg.org/#concept-host
86 uint32_t ipv4; member
90 Value() : ipv4(0) {} in Value()
113 // to zero-fill `value_`, but that really is relying on standard library
184 // https://infra.spec.whatwg.org/#ascii-tab-or-newline
187 // https://infra.spec.whatwg.org/#c0-control-or-space
190 // https://infra.spec.whatwg.org/#ascii-digit
193 // https://infra.spec.whatwg.org/#ascii-hex-digit
198 // https://infra.spec.whatwg.org/#ascii-alpha
202 // https://infra.spec.whatwg.org/#ascii-alphanumeric
205 // https://infra.spec.whatwg.org/#ascii-lowercase
211 // https://url.spec.whatwg.org/#forbidden-host-code-point
218 // https://url.spec.whatwg.org/#windows-drive-letter
222 // https://url.spec.whatwg.org/#normalized-windows-drive-letter
226 // If a UTF-16 character is a low/trailing surrogate.
229 // If a UTF-16 character is a surrogate.
232 // If a UTF-16 surrogate is a low/trailing one.
244 // be percent-encoded then appended.
257 return ch - '0'; in hex2bin()
259 return 10 + (ch - 'A'); in hex2bin()
261 return 10 + (ch - 'a'); in hex2bin()
262 return static_cast<unsigned>(-1); in hex2bin()
275 size_t remaining = end - pointer - 1; in PercentDecode()
296 XX(file, -1, "file:") \
312 return env->url_special_##key##_string(); in GetSpecial()
319 #define V(_, port, name) if (scheme == name && p == port) return -1; in NormalizePort()
325 // https://url.spec.whatwg.org/#start-with-a-windows-drive-letter
327 size_t length = end - p; in StartsWithWindowsDriveLetter()
342 output->assign(*buf, buf.length()); in ToUnicode()
350 output->assign(*buf, buf.length()); in ToASCII()
354 // Intentional non-ops if ICU is not present.
393 if (end - start >= 2 && start[0] == '0' && (start[1] | 0x20) == 'x') { in ParseNumber()
397 if (end - start == 0) { in ParseNumber()
399 } else if (R == 10 && end - start > 1 && start[0] == '0') { in ParseNumber()
410 return -1; in ParseNumber()
414 return -1; in ParseNumber()
418 return -1; in ParseNumber()
441 int64_t remaining = end - pointer - 1; in ParseIPv4Host()
454 numbers[parts - 1] = n; in ParseIPv4Host()
466 // 256^(5 - the number of items in numbers), return failure. in ParseIPv4Host()
468 (tooBigNumbers == 1 && numbers[parts - 1] <= 255) || in ParseIPv4Host()
469 numbers[parts - 1] >= pow(256, static_cast<double>(5 - parts))) { in ParseIPv4Host()
474 val = static_cast<uint32_t>(numbers[parts - 1]); in ParseIPv4Host()
475 for (int n = 0; n < parts - 1; n++) { in ParseIPv4Host()
476 double b = 3 - n; in ParseIPv4Host()
481 value_.ipv4 = val; in ParseIPv4Host()
511 if (pointer[length - 1] != ']') in ParseHost()
513 return ParseIPv6Host(++pointer, length - 2); in ParseHost()
534 // Check to see if it's an IPv4 IP address in ParseHost()
544 // It's not an IPv4 or IPv6 address, it must be a domain in ParseHost()
603 uint32_t value = value_.ipv4; in ToString()
652 output->clear(); in ParseHost()
666 if (array->Length() > 0) in FromJSStringArray()
667 vec.reserve(array->Length()); in FromJSStringArray()
668 for (size_t n = 0; n < array->Length(); n++) { in FromJSStringArray()
669 Local<Value> val = array->Get(env->context(), n).ToLocalChecked(); in FromJSStringArray()
670 if (val->IsString()) { in FromJSStringArray()
671 Utf8Value value(env->isolate(), val.As<String>()); in FromJSStringArray()
680 Local<Context> context = env->context(); in HarvestBase()
683 base_obj->Get(env->context(), env->flags_string()).ToLocalChecked(); in HarvestBase()
684 if (flags->IsInt32()) in HarvestBase()
685 base.flags = flags->Int32Value(context).FromJust(); in HarvestBase()
688 base_obj->Get(env->context(), env->port_string()).ToLocalChecked(); in HarvestBase()
689 if (port->IsInt32()) in HarvestBase()
690 base.port = port->Int32Value(context).FromJust(); in HarvestBase()
693 base_obj->Get(env->context(), env->scheme_string()).ToLocalChecked(); in HarvestBase()
694 base.scheme = Utf8Value(env->isolate(), scheme).out(); in HarvestBase()
700 Local<Value> value = base_obj->Get(env->context(), name).ToLocalChecked(); in HarvestBase()
701 if (value->IsString()) { in HarvestBase()
702 Utf8Value utf8value(env->isolate(), value.As<String>()); in HarvestBase()
704 if (empty_as_present || value.As<String>()->Length() != 0) { in HarvestBase()
711 env->username_string(), in HarvestBase()
715 env->password_string(), in HarvestBase()
717 GetStr(&url_data::host, URL_FLAGS_HAS_HOST, env->host_string(), true); in HarvestBase()
718 GetStr(&url_data::query, URL_FLAGS_HAS_QUERY, env->query_string(), true); in HarvestBase()
721 env->fragment_string(), in HarvestBase()
725 path = base_obj->Get(env->context(), env->path_string()).ToLocalChecked(); in HarvestBase()
726 if (path->IsArray()) { in HarvestBase()
736 context_obj->Get(env->context(), env->flags_string()).ToLocalChecked(); in HarvestContext()
737 if (flags->IsInt32()) { in HarvestContext()
744 context.flags |= flags.As<Int32>()->Value() & kCopyFlagsMask; in HarvestContext()
747 context_obj->Get(env->context(), env->scheme_string()).ToLocalChecked(); in HarvestContext()
748 if (scheme->IsString()) { in HarvestContext()
749 Utf8Value value(env->isolate(), scheme); in HarvestContext()
753 context_obj->Get(env->context(), env->port_string()).ToLocalChecked(); in HarvestContext()
754 if (port->IsInt32()) in HarvestContext()
755 context.port = port.As<Int32>()->Value(); in HarvestContext()
758 context_obj->Get(env->context(), in HarvestContext()
759 env->username_string()).ToLocalChecked(); in HarvestContext()
760 CHECK(username->IsString()); in HarvestContext()
761 Utf8Value value(env->isolate(), username); in HarvestContext()
766 context_obj->Get(env->context(), in HarvestContext()
767 env->password_string()).ToLocalChecked(); in HarvestContext()
768 CHECK(password->IsString()); in HarvestContext()
769 Utf8Value value(env->isolate(), password); in HarvestContext()
773 context_obj->Get(env->context(), in HarvestContext()
774 env->host_string()).ToLocalChecked(); in HarvestContext()
775 if (host->IsString()) { in HarvestContext()
776 Utf8Value value(env->isolate(), host); in HarvestContext()
782 // Single dot segment can be ".", "%2e", or "%2E"
827 if (url->path.empty()) return; in ShortenUrlPath()
828 if (url->path.size() == 1 && url->scheme == "file:" && in ShortenUrlPath()
829 IsNormalizedWindowsDriveLetter(url->path[0])) return; in ShortenUrlPath()
830 url->path.pop_back(); in ShortenUrlPath()
852 for (const char* ptr = end - 1; ptr >= p; ptr--) { in Parse()
854 end--; in Parse()
859 len = end - p; in Parse()
871 whitespace_stripped.reserve(len - 1); in Parse()
872 whitespace_stripped.assign(p, ptr - p); in Parse()
900 url->flags |= URL_FLAGS_INVALID_PARSE_STATE; in Parse()
906 bool special = (url->flags & URL_FLAGS_SPECIAL); in Parse()
919 url->flags |= URL_FLAGS_FAILED; in Parse()
924 if (IsASCIIAlphanumeric(ch) || ch == '+' || ch == '-' || ch == '.') { in Parse()
928 url->flags |= URL_FLAGS_TERMINATED; in Parse()
938 ((url->flags & URL_FLAGS_HAS_USERNAME) || in Parse()
939 (url->flags & URL_FLAGS_HAS_PASSWORD) || in Parse()
940 (url->port != -1)))) { in Parse()
941 url->flags |= URL_FLAGS_TERMINATED; in Parse()
945 // File scheme && (host == empty or null) check left to JS-land in Parse()
949 url->scheme = std::move(buffer); in Parse()
950 url->port = NormalizePort(url->scheme, url->port); in Parse()
952 url->flags |= URL_FLAGS_SPECIAL; in Parse()
955 url->flags &= ~URL_FLAGS_SPECIAL; in Parse()
962 if (url->scheme == "file:") { in Parse()
966 url->scheme == base->scheme) { in Parse()
974 url->flags |= URL_FLAGS_CANNOT_BE_BASE; in Parse()
975 url->flags |= URL_FLAGS_HAS_PATH; in Parse()
976 url->path.emplace_back(""); in Parse()
985 url->flags |= URL_FLAGS_FAILED; in Parse()
990 cannot_be_base = has_base && (base->flags & URL_FLAGS_CANNOT_BE_BASE); in Parse()
992 url->flags |= URL_FLAGS_FAILED; in Parse()
995 url->scheme = base->scheme; in Parse()
996 if (IsSpecial(url->scheme)) { in Parse()
997 url->flags |= URL_FLAGS_SPECIAL; in Parse()
1000 url->flags &= ~URL_FLAGS_SPECIAL; in Parse()
1004 if (base->flags & URL_FLAGS_HAS_PATH) { in Parse()
1005 url->flags |= URL_FLAGS_HAS_PATH; in Parse()
1006 url->path = base->path; in Parse()
1008 if (base->flags & URL_FLAGS_HAS_QUERY) { in Parse()
1009 url->flags |= URL_FLAGS_HAS_QUERY; in Parse()
1010 url->query = base->query; in Parse()
1012 if (base->flags & URL_FLAGS_HAS_FRAGMENT) { in Parse()
1013 url->flags |= URL_FLAGS_HAS_FRAGMENT; in Parse()
1014 url->fragment = base->fragment; in Parse()
1016 url->flags |= URL_FLAGS_CANNOT_BE_BASE; in Parse()
1019 base->scheme != "file:") { in Parse()
1023 url->scheme = "file:"; in Parse()
1024 url->flags |= URL_FLAGS_SPECIAL; in Parse()
1049 url->scheme = base->scheme; in Parse()
1050 if (IsSpecial(url->scheme)) { in Parse()
1051 url->flags |= URL_FLAGS_SPECIAL; in Parse()
1054 url->flags &= ~URL_FLAGS_SPECIAL; in Parse()
1060 if (base->flags & URL_FLAGS_HAS_USERNAME) { in Parse()
1061 url->flags |= URL_FLAGS_HAS_USERNAME; in Parse()
1062 url->username = base->username; in Parse()
1064 if (base->flags & URL_FLAGS_HAS_PASSWORD) { in Parse()
1065 url->flags |= URL_FLAGS_HAS_PASSWORD; in Parse()
1066 url->password = base->password; in Parse()
1068 if (base->flags & URL_FLAGS_HAS_HOST) { in Parse()
1069 url->flags |= URL_FLAGS_HAS_HOST; in Parse()
1070 url->host = base->host; in Parse()
1072 if (base->flags & URL_FLAGS_HAS_QUERY) { in Parse()
1073 url->flags |= URL_FLAGS_HAS_QUERY; in Parse()
1074 url->query = base->query; in Parse()
1076 if (base->flags & URL_FLAGS_HAS_PATH) { in Parse()
1077 url->flags |= URL_FLAGS_HAS_PATH; in Parse()
1078 url->path = base->path; in Parse()
1080 url->port = base->port; in Parse()
1086 if (base->flags & URL_FLAGS_HAS_USERNAME) { in Parse()
1087 url->flags |= URL_FLAGS_HAS_USERNAME; in Parse()
1088 url->username = base->username; in Parse()
1090 if (base->flags & URL_FLAGS_HAS_PASSWORD) { in Parse()
1091 url->flags |= URL_FLAGS_HAS_PASSWORD; in Parse()
1092 url->password = base->password; in Parse()
1094 if (base->flags & URL_FLAGS_HAS_HOST) { in Parse()
1095 url->flags |= URL_FLAGS_HAS_HOST; in Parse()
1096 url->host = base->host; in Parse()
1098 if (base->flags & URL_FLAGS_HAS_PATH) { in Parse()
1099 url->flags |= URL_FLAGS_HAS_PATH; in Parse()
1100 url->path = base->path; in Parse()
1102 url->port = base->port; in Parse()
1106 if (base->flags & URL_FLAGS_HAS_USERNAME) { in Parse()
1107 url->flags |= URL_FLAGS_HAS_USERNAME; in Parse()
1108 url->username = base->username; in Parse()
1110 if (base->flags & URL_FLAGS_HAS_PASSWORD) { in Parse()
1111 url->flags |= URL_FLAGS_HAS_PASSWORD; in Parse()
1112 url->password = base->password; in Parse()
1114 if (base->flags & URL_FLAGS_HAS_HOST) { in Parse()
1115 url->flags |= URL_FLAGS_HAS_HOST; in Parse()
1116 url->host = base->host; in Parse()
1118 if (base->flags & URL_FLAGS_HAS_QUERY) { in Parse()
1119 url->flags |= URL_FLAGS_HAS_QUERY; in Parse()
1120 url->query = base->query; in Parse()
1122 if (base->flags & URL_FLAGS_HAS_PATH) { in Parse()
1123 url->flags |= URL_FLAGS_HAS_PATH; in Parse()
1124 url->path = base->path; in Parse()
1126 url->port = base->port; in Parse()
1133 if (base->flags & URL_FLAGS_HAS_USERNAME) { in Parse()
1134 url->flags |= URL_FLAGS_HAS_USERNAME; in Parse()
1135 url->username = base->username; in Parse()
1137 if (base->flags & URL_FLAGS_HAS_PASSWORD) { in Parse()
1138 url->flags |= URL_FLAGS_HAS_PASSWORD; in Parse()
1139 url->password = base->password; in Parse()
1141 if (base->flags & URL_FLAGS_HAS_HOST) { in Parse()
1142 url->flags |= URL_FLAGS_HAS_HOST; in Parse()
1143 url->host = base->host; in Parse()
1145 if (base->flags & URL_FLAGS_HAS_PATH) { in Parse()
1146 url->flags |= URL_FLAGS_HAS_PATH; in Parse()
1147 url->path = base->path; in Parse()
1150 url->port = base->port; in Parse()
1157 if (IsSpecial(url->scheme) && (ch == '/' || ch == '\\')) { in Parse()
1162 if (base->flags & URL_FLAGS_HAS_USERNAME) { in Parse()
1163 url->flags |= URL_FLAGS_HAS_USERNAME; in Parse()
1164 url->username = base->username; in Parse()
1166 if (base->flags & URL_FLAGS_HAS_PASSWORD) { in Parse()
1167 url->flags |= URL_FLAGS_HAS_PASSWORD; in Parse()
1168 url->password = base->password; in Parse()
1170 if (base->flags & URL_FLAGS_HAS_HOST) { in Parse()
1171 url->flags |= URL_FLAGS_HAS_HOST; in Parse()
1172 url->host = base->host; in Parse()
1174 url->port = base->port; in Parse()
1202 url->flags |= URL_FLAGS_HAS_USERNAME; in Parse()
1207 url->flags |= URL_FLAGS_HAS_PASSWORD; in Parse()
1214 AppendOrEscape(&url->password, bch, USERINFO_ENCODE_SET); in Parse()
1216 AppendOrEscape(&url->username, bch, USERINFO_ENCODE_SET); in Parse()
1226 url->flags |= URL_FLAGS_FAILED; in Parse()
1229 p -= buffer.size() + 1; in Parse()
1238 if (has_state_override && url->scheme == "file:") { in Parse()
1243 url->flags |= URL_FLAGS_FAILED; in Parse()
1246 url->flags |= URL_FLAGS_HAS_HOST; in Parse()
1247 if (!ParseHost(buffer, &url->host, special)) { in Parse()
1248 url->flags |= URL_FLAGS_FAILED; in Parse()
1261 p--; in Parse()
1263 url->flags |= URL_FLAGS_FAILED; in Parse()
1268 ((url->username.size() > 0 || url->password.size() > 0) || in Parse()
1269 url->port != -1)) { in Parse()
1270 url->flags |= URL_FLAGS_TERMINATED; in Parse()
1273 url->flags |= URL_FLAGS_HAS_HOST; in Parse()
1274 if (!ParseHost(buffer, &url->host, special)) { in Parse()
1275 url->flags |= URL_FLAGS_FAILED; in Parse()
1304 port = port * 10 + buffer[i] - '0'; in Parse()
1311 url->port = -1; in Parse()
1313 url->flags |= URL_FLAGS_FAILED; in Parse()
1317 url->port = NormalizePort(url->scheme, static_cast<int>(port)); in Parse()
1318 if (url->port == -1) in Parse()
1319 url->flags |= URL_FLAGS_IS_DEFAULT_SCHEME_PORT; in Parse()
1324 url->port = -1; in Parse()
1326 url->flags |= URL_FLAGS_TERMINATED; in Parse()
1332 url->flags |= URL_FLAGS_FAILED; in Parse()
1337 url->scheme = "file:"; in Parse()
1340 } else if (has_base && base->scheme == "file:") { in Parse()
1343 if (base->flags & URL_FLAGS_HAS_HOST) { in Parse()
1344 url->flags |= URL_FLAGS_HAS_HOST; in Parse()
1345 url->host = base->host; in Parse()
1347 if (base->flags & URL_FLAGS_HAS_PATH) { in Parse()
1348 url->flags |= URL_FLAGS_HAS_PATH; in Parse()
1349 url->path = base->path; in Parse()
1351 if (base->flags & URL_FLAGS_HAS_QUERY) { in Parse()
1352 url->flags |= URL_FLAGS_HAS_QUERY; in Parse()
1353 url->query = base->query; in Parse()
1357 if (base->flags & URL_FLAGS_HAS_HOST) { in Parse()
1358 url->flags |= URL_FLAGS_HAS_HOST; in Parse()
1359 url->host = base->host; in Parse()
1361 if (base->flags & URL_FLAGS_HAS_PATH) { in Parse()
1362 url->flags |= URL_FLAGS_HAS_PATH; in Parse()
1363 url->path = base->path; in Parse()
1365 url->flags |= URL_FLAGS_HAS_QUERY; in Parse()
1366 url->query.clear(); in Parse()
1370 if (base->flags & URL_FLAGS_HAS_HOST) { in Parse()
1371 url->flags |= URL_FLAGS_HAS_HOST; in Parse()
1372 url->host = base->host; in Parse()
1374 if (base->flags & URL_FLAGS_HAS_PATH) { in Parse()
1375 url->flags |= URL_FLAGS_HAS_PATH; in Parse()
1376 url->path = base->path; in Parse()
1378 if (base->flags & URL_FLAGS_HAS_QUERY) { in Parse()
1379 url->flags |= URL_FLAGS_HAS_QUERY; in Parse()
1380 url->query = base->query; in Parse()
1382 url->flags |= URL_FLAGS_HAS_FRAGMENT; in Parse()
1383 url->fragment.clear(); in Parse()
1388 if (base->flags & URL_FLAGS_HAS_HOST) { in Parse()
1389 url->flags |= URL_FLAGS_HAS_HOST; in Parse()
1390 url->host = base->host; in Parse()
1392 if (base->flags & URL_FLAGS_HAS_PATH) { in Parse()
1393 url->flags |= URL_FLAGS_HAS_PATH; in Parse()
1394 url->path = base->path; in Parse()
1411 base->scheme == "file:" && in Parse()
1413 if (IsNormalizedWindowsDriveLetter(base->path[0])) { in Parse()
1414 url->flags |= URL_FLAGS_HAS_PATH; in Parse()
1415 url->path.push_back(base->path[0]); in Parse()
1417 if (base->flags & URL_FLAGS_HAS_HOST) { in Parse()
1418 url->flags |= URL_FLAGS_HAS_HOST; in Parse()
1419 url->host = base->host; in Parse()
1421 url->flags &= ~URL_FLAGS_HAS_HOST; in Parse()
1422 url->host.clear(); in Parse()
1441 url->flags |= URL_FLAGS_HAS_HOST; in Parse()
1442 url->host.clear(); in Parse()
1449 url->flags |= URL_FLAGS_FAILED; in Parse()
1454 url->flags |= URL_FLAGS_HAS_HOST; in Parse()
1455 url->host = host; in Parse()
1467 if (IsSpecial(url->scheme)) { in Parse()
1473 url->flags |= URL_FLAGS_HAS_QUERY; in Parse()
1474 url->query.clear(); in Parse()
1477 url->flags |= URL_FLAGS_HAS_FRAGMENT; in Parse()
1478 url->fragment.clear(); in Parse()
1495 url->flags |= URL_FLAGS_HAS_PATH; in Parse()
1496 url->path.emplace_back(""); in Parse()
1500 url->flags |= URL_FLAGS_HAS_PATH; in Parse()
1501 url->path.emplace_back(""); in Parse()
1503 if (url->scheme == "file:" && in Parse()
1504 url->path.empty() && in Parse()
1507 if ((url->flags & URL_FLAGS_HAS_HOST) && in Parse()
1508 !url->host.empty()) { in Parse()
1509 url->host.clear(); in Parse()
1510 url->flags |= URL_FLAGS_HAS_HOST; in Parse()
1514 url->flags |= URL_FLAGS_HAS_PATH; in Parse()
1515 url->path.emplace_back(std::move(buffer)); in Parse()
1518 if (url->scheme == "file:" && in Parse()
1522 while (url->path.size() > 1 && url->path[0].empty()) { in Parse()
1523 url->path.erase(url->path.begin()); in Parse()
1527 url->flags |= URL_FLAGS_HAS_QUERY; in Parse()
1545 if (url->path.empty()) in Parse()
1546 url->path.emplace_back(""); in Parse()
1548 AppendOrEscape(&url->path[0], ch, C0_CONTROL_ENCODE_SET); in Parse()
1553 url->flags |= URL_FLAGS_HAS_QUERY; in Parse()
1554 url->query = std::move(buffer); in Parse()
1566 url->flags |= URL_FLAGS_HAS_FRAGMENT; in Parse()
1567 url->fragment = std::move(buffer); in Parse()
1576 url->flags |= URL_FLAGS_INVALID_PARSE_STATE; in Parse()
1588 Isolate* isolate = env->isolate(); in SetArgs()
1604 if (url.port > -1) in SetArgs()
1607 argv[ARG_PATH] = ToV8Value(env->context(), url.path).ToLocalChecked(); in SetArgs()
1619 Isolate* isolate = env->isolate(); in Parse()
1620 Local<Context> context = env->context(); in Parse()
1624 const bool has_context = context_obj->IsObject(); in Parse()
1625 const bool has_base = base_obj->IsObject(); in Parse()
1656 cb->Call(context, recv, arraysize(argv), argv).FromMaybe(Local<Value>()); in Parse()
1657 } else if (error_cb->IsFunction()) { in Parse()
1661 String::NewFromUtf8(env->isolate(), input).ToLocalChecked(); in Parse()
1662 error_cb.As<Function>()->Call(context, recv, arraysize(argv), argv) in Parse()
1670 CHECK(args[0]->IsString()); // input in Parse()
1671 CHECK(args[2]->IsUndefined() || // base context in Parse()
1672 args[2]->IsNull() || in Parse()
1673 args[2]->IsObject()); in Parse()
1674 CHECK(args[3]->IsUndefined() || // context in Parse()
1675 args[3]->IsNull() || in Parse()
1676 args[3]->IsObject()); in Parse()
1677 CHECK(args[4]->IsFunction()); // complete callback in Parse()
1678 CHECK(args[5]->IsUndefined() || args[5]->IsFunction()); // error callback in Parse()
1680 Utf8Value input(env->isolate(), args[0]); in Parse()
1682 if (args[1]->IsNumber()) { in Parse()
1684 args[1]->Uint32Value(env->context()).FromJust()); in Parse()
1699 CHECK(args[0]->IsString()); in EncodeAuthSet()
1700 Utf8Value value(env->isolate(), args[0]); in EncodeAuthSet()
1709 String::NewFromUtf8(env->isolate(), output.c_str()).ToLocalChecked()); in EncodeAuthSet()
1715 CHECK(args[0]->IsString()); in ToUSVString()
1716 CHECK(args[1]->IsNumber()); in ToUSVString()
1718 TwoByteValue value(env->isolate(), args[0]); in ToUSVString()
1720 int64_t start = args[1]->IntegerValue(env->context()).FromJust(); in ToUSVString()
1727 } else if (IsUnicodeSurrogateTrail(c) || i == value.length() - 1) { in ToUSVString()
1740 String::NewFromTwoByte(env->isolate(), in ToUSVString()
1749 CHECK(args[0]->IsString()); in DomainToASCII()
1750 Utf8Value value(env->isolate(), args[0]); in DomainToASCII()
1756 args.GetReturnValue().Set(FIXED_ONE_BYTE_STRING(env->isolate(), "")); in DomainToASCII()
1761 String::NewFromUtf8(env->isolate(), out.c_str()).ToLocalChecked()); in DomainToASCII()
1767 CHECK(args[0]->IsString()); in DomainToUnicode()
1768 Utf8Value value(env->isolate(), args[0]); in DomainToUnicode()
1774 args.GetReturnValue().Set(FIXED_ONE_BYTE_STRING(env->isolate(), "")); in DomainToUnicode()
1779 String::NewFromUtf8(env->isolate(), out.c_str()).ToLocalChecked()); in DomainToUnicode()
1785 CHECK(args[0]->IsFunction()); in SetURLConstructor()
1786 env->set_url_constructor_function(args[0].As<Function>()); in SetURLConstructor()
1789 void Initialize(Local<Object> target, in Initialize() argument
1794 env->SetMethod(target, "parse", Parse); in Initialize()
1795 env->SetMethodNoSideEffect(target, "encodeAuth", EncodeAuthSet); in Initialize()
1796 env->SetMethodNoSideEffect(target, "toUSVString", ToUSVString); in Initialize()
1797 env->SetMethodNoSideEffect(target, "domainToASCII", DomainToASCII); in Initialize()
1798 env->SetMethodNoSideEffect(target, "domainToUnicode", DomainToUnicode); in Initialize()
1799 env->SetMethod(target, "setURLConstructor", SetURLConstructor); in Initialize()
1801 #define XX(name, _) NODE_DEFINE_CONSTANT(target, name); in Initialize()
1805 #define XX(name) NODE_DEFINE_CONSTANT(target, name); in Initialize()
1849 // appropriate `xn--` prefix to be decoded. in ToFilePath()
1887 // returns the JS URL object. Be mindful of the JS<->Native boundary
1890 Isolate* isolate = env->isolate(); in ToObject()
1891 Local<Context> context = env->context(); in ToObject()
1921 ret = env->url_constructor_function() in ToObject()
1922 ->Call(env->context(), undef, arraysize(argv), argv); in ToObject()