fix(ext/http): print [] around ipv6 addresses (#24150)

This commit is contained in:
Luca Casonato 2024-06-09 02:03:07 +02:00 committed by Nathan Whitaker
parent b21082c918
commit da10286869
No known key found for this signature in database

View file

@ -34,6 +34,7 @@ const {
ObjectPrototypeIsPrototypeOf,
PromisePrototypeCatch,
PromisePrototypeThen,
StringPrototypeIncludes,
Symbol,
TypeError,
TypedArrayPrototypeGetSymbolToStringTag,
@ -656,14 +657,19 @@ function serve(arg1, arg2) {
// If the hostname is "0.0.0.0", we display "localhost" in console
// because browsers in Windows don't resolve "0.0.0.0".
// See the discussion in https://github.com/denoland/deno_std/issues/1165
const hostname = addr.hostname == "0.0.0.0" ? "localhost" : addr.hostname;
const hostname = addr.hostname == "0.0.0.0" || addr.hostname == "::"
? "localhost"
: addr.hostname;
addr.hostname = hostname;
const onListen = (scheme) => {
if (options.onListen) {
options.onListen(addr);
} else {
console.log(`Listening on ${scheme}${addr.hostname}:${addr.port}/`);
const host = StringPrototypeIncludes(addr.hostname, ":")
? `[${addr.hostname}]`
: addr.hostname;
console.log(`Listening on ${scheme}${host}:${addr.port}/`);
}
};